@@ -30,6 +30,8 @@ Toolkit::test(function (): void {
30
30
Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getMetadataCacheImpl ());
31
31
Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getQueryCacheImpl ());
32
32
Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getResultCacheImpl ());
33
+ Assert::true ($ em ->getConfiguration ()->isSecondLevelCacheEnabled ());
34
+ Assert::notNull ($ em ->getConfiguration ()->getSecondLevelCacheConfiguration ());
33
35
});
34
36
35
37
// Provide cache drivers
@@ -57,4 +59,31 @@ Toolkit::test(function (): void {
57
59
Assert::type (ArrayCache::class, $ em ->getConfiguration ()->getMetadataCacheImpl ());
58
60
Assert::type (ApcuCache::class, $ em ->getConfiguration ()->getQueryCacheImpl ());
59
61
Assert::type (ArrayCache::class, $ em ->getConfiguration ()->getResultCacheImpl ());
62
+ Assert::true ($ em ->getConfiguration ()->isSecondLevelCacheEnabled ());
63
+ Assert::notNull ($ em ->getConfiguration ()->getSecondLevelCacheConfiguration ());
64
+ });
65
+
66
+ // Turn off second level cache
67
+ Toolkit::test (function (): void {
68
+ $ container = Container::of ()
69
+ ->withDefaults ()
70
+ ->withCompiler (function (Compiler $ compiler ): void {
71
+ $ compiler ->addExtension ('nettrine.orm.cache ' , new OrmCacheExtension ());
72
+ $ compiler ->addConfig ([
73
+ 'nettrine.orm.cache ' => [
74
+ 'secondLevelCache ' => false ,
75
+ ],
76
+ ]);
77
+ })
78
+ ->build ();
79
+
80
+ /** @var EntityManagerDecorator $em */
81
+ $ em = $ container ->getByType (EntityManagerDecorator::class);
82
+
83
+ Assert::false ($ em ->getConfiguration ()->isSecondLevelCacheEnabled ());
84
+ Assert::null ($ em ->getConfiguration ()->getSecondLevelCacheConfiguration ());
85
+ Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getHydrationCacheImpl ());
86
+ Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getMetadataCacheImpl ());
87
+ Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getQueryCacheImpl ());
88
+ Assert::type (PhpFileCache::class, $ em ->getConfiguration ()->getResultCacheImpl ());
60
89
});
0 commit comments