@@ -13,11 +13,15 @@ class FlushTest extends UnitTestCase
1313{
1414 use RefreshDatabase;
1515
16+ protected $ cache ;
17+
1618 public function setUp ()
1719 {
1820 parent ::setUp ();
1921
20- cache ()->flush ();
22+ $ this ->cache = cache ()->store (config ('laravel-model-caching:store ' ));
23+
24+ $ this ->cache ->flush ();
2125 $ publishers = factory (Publisher::class, 10 )->create ();
2226 factory (Author::class, 10 )->create ()
2327 ->each (function ($ author ) use ($ publishers ) {
@@ -37,7 +41,7 @@ public function setUp()
3741 ->each (function ($ store ) use ($ bookIds ) {
3842 $ store ->books ()->sync (rand ($ bookIds ->min (), $ bookIds ->max ()));
3943 });
40- cache () ->flush ();
44+ $ this -> cache ->flush ();
4145 }
4246
4347 public function testGivenModelIsFlushed ()
@@ -46,11 +50,11 @@ public function testGivenModelIsFlushed()
4650 $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesauthor ' );
4751 $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesauthor ' ];
4852
49- $ cachedResults = cache ()
53+ $ cachedResults = $ this -> cache
5054 ->tags ($ tags )
5155 ->get ($ key )['value ' ];
5256 $ result = $ this ->artisan ('modelCache:flush ' , ['--model ' => Author::class]);
53- $ flushedResults = cache ()
57+ $ flushedResults = $ this -> cache
5458 ->tags ($ tags )
5559 ->get ($ key )['value ' ];
5660
@@ -68,14 +72,14 @@ public function testGivenModelWithRelationshipIsFlushed()
6872 'genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesbook ' ,
6973 ];
7074
71- $ cachedResults = cache ()
75+ $ cachedResults = $ this -> cache
7276 ->tags ($ tags )
7377 ->get ($ key )['value ' ];
7478 $ result = $ this ->artisan (
7579 'modelCache:flush ' ,
7680 ['--model ' => Author::class]
7781 );
78- $ flushedResults = cache ()
82+ $ flushedResults = $ this -> cache
7983 ->tags ($ tags )
8084 ->get ($ key )['value ' ];
8185
@@ -94,10 +98,52 @@ public function testNonCachedModelsCannotBeFlushed()
9498 $ this ->assertEquals ($ result , 1 );
9599 }
96100
97- public function testModelOptionIsSpecified ()
101+ public function testAllModelsAreFlushed ()
98102 {
99- $ result = $ this ->artisan ('modelCache:flush ' , []);
103+ (new Author )->all ();
104+ (new Book )->all ();
105+ (new Store )->all ();
100106
101- $ this ->assertEquals ($ result , 1 );
107+ $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesauthor ' );
108+ $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesauthor ' ];
109+ $ cachedAuthors = $ this ->cache
110+ ->tags ($ tags )
111+ ->get ($ key )['value ' ];
112+ $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesbook ' );
113+ $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesbook ' ];
114+ $ cachedBooks = $ this ->cache
115+ ->tags ($ tags )
116+ ->get ($ key )['value ' ];
117+ $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesstore ' );
118+ $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesstore ' ];
119+ $ cachedStores = $ this ->cache
120+ ->tags ($ tags )
121+ ->get ($ key )['value ' ];
122+
123+ $ this ->assertNotEmpty ($ cachedAuthors );
124+ $ this ->assertNotEmpty ($ cachedBooks );
125+ $ this ->assertNotEmpty ($ cachedStores );
126+
127+ $ this ->artisan ('modelCache:flush ' , []);
128+
129+ $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesauthor ' );
130+ $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesauthor ' ];
131+ $ cachedAuthors = $ this ->cache
132+ ->tags ($ tags )
133+ ->get ($ key )['value ' ];
134+ $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesbook ' );
135+ $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesbook ' ];
136+ $ cachedBooks = $ this ->cache
137+ ->tags ($ tags )
138+ ->get ($ key )['value ' ];
139+ $ key = sha1 ('genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesstore ' );
140+ $ tags = ['genealabs:laravel-model-caching:genealabslaravelmodelcachingtestsfixturesstore ' ];
141+ $ cachedStores = $ this ->cache
142+ ->tags ($ tags )
143+ ->get ($ key )['value ' ];
144+
145+ $ this ->assertEmpty ($ cachedAuthors );
146+ $ this ->assertEmpty ($ cachedBooks );
147+ $ this ->assertEmpty ($ cachedStores );
102148 }
103149}
0 commit comments