Skip to content

Commit f187ee1

Browse files
committed
Bring tests to green.
1 parent 5b0bf60 commit f187ee1

18 files changed

+117
-36
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"predis/predis": "^1.1"
2222
},
2323
"require-dev": {
24-
"fzaninotto/faker": "^1.9.1",
24+
"fzaninotto/faker": "^1.9",
2525
"orchestra/testbench-browser-kit": "^5.0",
2626
"orchestra/testbench": "^5.0",
2727
"php-coveralls/php-coveralls" : "^2.2",

src/CacheKey.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public function make(
4646
$key .= $this->getLimitClause();
4747
$key .= $keyDifferentiator;
4848
$key .= $this->macroKey;
49-
49+
// dump($key);
5050
return $key;
5151
}
5252

src/CacheTags.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function make() : array
3636
->prepend($this->getTagName())
3737
->values()
3838
->toArray();
39-
39+
// dump($tags);
4040
return $tags;
4141
}
4242

tests/Integration/CachedBuilder/BelongsToManyTest.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function testInvalidatingCacheWhenAttaching()
4848
->books
4949
->first()
5050
->id;
51-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:book-store:genealabslaravelmodelcachingcachedbelongstomany-book_store.book_id_=_{$bookId}");
51+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:stores:genealabslaravelmodelcachingtestsfixturesstore-testing:{$this->testingSqlitePath}testing.sqlite:books-first");
5252
$tags = [
5353
"genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesstore",
5454
];
@@ -65,7 +65,8 @@ public function testInvalidatingCacheWhenAttaching()
6565
$cachedResult = $this
6666
->cache()
6767
->tags($tags)
68-
->get($key)['value'];
68+
->get($key)['value']
69+
?? null;
6970

7071
$this->assertNotEmpty($result);
7172
$this->assertNull($cachedResult);
@@ -95,7 +96,8 @@ public function testInvalidatingCacheWhenDetaching()
9596
$cachedResult = $this
9697
->cache()
9798
->tags($tags)
98-
->get($key)['value'];
99+
->get($key)['value']
100+
?? null;
99101

100102
$this->assertNotEmpty($result);
101103
$this->assertNull($cachedResult);
@@ -124,7 +126,8 @@ public function testInvalidatingCacheWhenUpdating()
124126
$cachedResult = $this
125127
->cache()
126128
->tags($tags)
127-
->get($key)['value'];
129+
->get($key)['value']
130+
?? null;
128131

129132
$this->assertNotEmpty($result);
130133
$this->assertNull($cachedResult);
@@ -150,7 +153,8 @@ public function testUncachedRelatedModelDoesntCache()
150153
$cachedResult = $this
151154
->cache()
152155
->tags($tags)
153-
->get($key)['value'];
156+
->get($key)['value']
157+
?? null;
154158
$uncachedResult = (new UncachedBook)
155159
->find($bookId)
156160
->stores;

tests/Integration/CachedBuilder/DeleteTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public function testDecrementingInvalidatesCache()
2323
$afterDeleteCachedResults = $this
2424
->cache()
2525
->tags($tags)
26-
->get($key)['value'];
26+
->get($key)['value']
27+
?? null;
2728

2829
$this->assertEquals($beforeDeleteCachedResults->id, $book->id);
2930
$this->assertNotEquals($beforeDeleteCachedResults, $afterDeleteCachedResults);

tests/Integration/CachedBuilder/ForceDeleteTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ public function testForceDeleteClearsCache()
3030
])
3131
->get(sha1(
3232
"genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-id_=_1"
33-
))["value"];
33+
))["value"]
34+
?? null;
3435

3536
$this->assertEquals(get_class($resultsBefore), get_class($author));
3637
$this->assertNotNull($resultsBefore);
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php namespace GeneaLabs\LaravelModelCaching\Tests\Integration\CachedBuilder;
2+
3+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Author;
4+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\UncachedAuthor;
5+
use GeneaLabs\LaravelModelCaching\Tests\IntegrationTestCase;
6+
7+
class LimitTest extends IntegrationTestCase
8+
{
9+
public function testGetModelResultsCreatesCache()
10+
{
11+
$authors = (new Author)
12+
->limit(5)
13+
->get();
14+
$key = sha1("genealabs:laravel-model-caching:testing:/Users/mike/Developer/Sites/laravel-model-caching/tests/database/testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-authors.deleted_at_null-limit_5");
15+
$tags = [
16+
"genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor",
17+
];
18+
19+
$cachedResults = $this
20+
->cache()
21+
->tags($tags)
22+
->get($key)['value'];
23+
$liveResults = (new UncachedAuthor)
24+
->limit(5)
25+
->get();
26+
27+
$this->assertEquals($authors, $cachedResults);
28+
$this->assertEmpty($liveResults->diffKeys($cachedResults));
29+
}
30+
}

tests/Integration/CachedBuilder/WhereRawTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public function testRawWhereClauseParsing()
1414
->whereRaw('name <> \'\'')
1515
->first()]);
1616

17-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor_and_name-first");
17+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-_and_name_<>_''-authors.deleted_at_null-first");
1818
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor"];
1919

2020
$cachedResults = collect([$this->cache()->tags($tags)->get($key)['value']]);
@@ -34,7 +34,7 @@ public function testWhereRawWithQueryParameters()
3434
->whereRaw("name != 'test3'")
3535
->whereRaw('name = ? AND name != ?', [$authorName, "test2"])
3636
->get();
37-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthorname_!=_test_and_name_!=_'test3'_and_name_=_Guido_Feest__AND_name_!=_test2");
37+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-name_!=_test-_and_name_!=_'test3'-_and_name_=_" . str_replace(" ", "_", $authorName) . "__AND_name_!=_test2-authors.deleted_at_null");
3838
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor"];
3939

4040
$cachedResults = collect([$this->cache()->tags($tags)->get($key)['value']]);

tests/Integration/CachedBuilder/WithTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,31 @@
88

99
class WithTest extends IntegrationTestCase
1010
{
11+
public function testWithLimitedQuery()
12+
{
13+
$authors = (new Author)
14+
->where("id", 1)
15+
->with([
16+
'books' => function ($query) {
17+
$query->where("id", "<", 100)
18+
->offset(5)
19+
->limit(1);
20+
}
21+
])
22+
->first();
23+
$uncachedAuthor = (new UncachedAuthor)->with([
24+
'books' => function ($query) {
25+
$query->where("id", "<", 100)
26+
->offset(5)
27+
->limit(1);
28+
}
29+
])
30+
->first();
31+
32+
$this->assertEquals($uncachedAuthor->books()->pluck("id"), $authors->books()->pluck("id"));
33+
$this->assertEquals($uncachedAuthor->id, $authors->id);
34+
}
35+
1136
public function testWithQuery()
1237
{
1338
$author = (new Author)

tests/Integration/CachedBuilderTest.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ public function testNestedRelationshipEagerLoading()
381381
$authors = collect([(new Author)->with('books.publisher')
382382
->first()]);
383383

384-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-authors.deleted_at_null-testing:{$this->testingSqlitePath}testing.sqlite:books-testing:{$this->testingSqlitePath}testing.sqlite:books.publisher-first");
384+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-authors.deleted_at_null-testing:{$this->testingSqlitePath}testing.sqlite:books-books.publisher-first");
385385
$tags = [
386386
"genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor",
387387
"genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesbook",
@@ -501,7 +501,7 @@ public function testDoesntHaveWhereClauseParsing()
501501
->doesntHave('books')
502502
->get();
503503

504-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor_notexists_and_authors.id_=_books.author_id");
504+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-notexists-and_authors.id_=_books.author_id-authors.deleted_at_null");
505505
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor"];
506506

507507
$cachedResults = $this->cache()
@@ -567,14 +567,15 @@ public function testDelete()
567567
->first();
568568
$authorId = $author->id;
569569
$liveResultId = $liveResult->id;
570-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor");
570+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor-authors.deleted_at_null-first");
571571
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor"];
572572

573573
$author->delete();
574574
$liveResult->delete();
575575
$cachedResult = $this->cache()
576576
->tags($tags)
577-
->get($key)['value'];
577+
->get($key)['value']
578+
?? null;
578579
$deletedAuthor = (new Author)->find($authorId);
579580

580581
$this->assertEquals($liveResultId, $authorId);
@@ -687,12 +688,14 @@ public function testSubsequentDisabledCacheQueriesDoNotCache()
687688
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor"];
688689
$cachedAuthors1 = $this->cache()
689690
->tags($tags)
690-
->get($key)['value'];
691+
->get($key)['value']
692+
?? null;
691693

692694
(new Author)->disableCache()->get();
693695
$cachedAuthors2 = $this->cache()
694696
->tags($tags)
695-
->get($key)['value'];
697+
->get($key)['value']
698+
?? null;
696699

697700
$this->assertEmpty($cachedAuthors1);
698701
$this->assertEmpty($cachedAuthors2);

tests/Integration/CachedModelTest.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ public function testScopeDisablesCaching()
4040

4141
$cachedResults = $this->cache()
4242
->tags($tags)
43-
->get($key)['value'];
43+
->get($key)['value']
44+
?? null;
4445

4546
$this->assertNull($cachedResults);
4647
$this->assertNotEquals($authors, $cachedResults);
@@ -57,7 +58,8 @@ public function testScopeDisablesCachingWhenCalledOnModel()
5758

5859
$cachedResults = $this->cache()
5960
->tags($tags)
60-
->get($key)['value'];
61+
->get($key)['value']
62+
?? null;
6163

6264
$this->assertNull($cachedResults);
6365
$this->assertNotEquals($authors, $cachedResults);
@@ -75,7 +77,8 @@ public function testScopeDisableCacheDoesntCrashWhenCachingIsDisabledInConfig()
7577

7678
$cachedResults = $this->cache()
7779
->tags($tags)
78-
->get($key)['value'];
80+
->get($key)['value']
81+
?? null;
7982

8083
$this->assertNull($cachedResults);
8184
$this->assertNotEquals($authors, $cachedResults);
@@ -86,7 +89,7 @@ public function testAllMethodCachingCanBeDisabledViaConfig()
8689
config(['laravel-model-caching.enabled' => false]);
8790
$authors = (new Author)
8891
->all();
89-
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor");
92+
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor.deleted_at_null");
9093
$tags = [
9194
"genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor",
9295
];
@@ -95,7 +98,8 @@ public function testAllMethodCachingCanBeDisabledViaConfig()
9598
$cachedResults = $this
9699
->cache()
97100
->tags($tags)
98-
->get($key)['value'];
101+
->get($key)['value']
102+
?? null;
99103

100104
$this->assertEmpty($cachedResults);
101105
$this->assertNotEmpty($authors);

tests/Integration/Console/Commands/FlushTest.php

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ public function testGivenModelIsFlushed()
3535
$flushedResults = $this
3636
->cache
3737
->tags($tags)
38-
->get($key)['value'];
38+
->get($key)['value']
39+
?? null;
3940

4041
$this->assertEquals($authors, $cachedResults);
4142
$this->assertEmpty($flushedResults);
@@ -60,7 +61,8 @@ public function testExtendedModelIsFlushed()
6061
$flushedResults = $this
6162
->cache
6263
->tags($tags)
63-
->get($key)['value'];
64+
->get($key)['value']
65+
?? null;
6466

6567
$this->assertEquals($authors, $cachedResults);
6668
$this->assertEmpty($flushedResults);
@@ -79,14 +81,16 @@ public function testGivenModelWithRelationshipIsFlushed()
7981
$cachedResults = $this->cache
8082
->tags($tags)
8183
->get($key)['value'];
82-
$result = $this->artisan(
84+
$result = $this
85+
->artisan(
8386
'modelCache:clear',
8487
['--model' => Author::class]
8588
)
8689
->execute();
8790
$flushedResults = $this->cache
8891
->tags($tags)
89-
->get($key)['value'];
92+
->get($key)['value']
93+
?? null;
9094

9195
$this->assertEquals($authors, $cachedResults);
9296
$this->assertEmpty($flushedResults);
@@ -137,17 +141,20 @@ public function testAllModelsAreFlushed()
137141
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor"];
138142
$cachedAuthors = $this->cache
139143
->tags($tags)
140-
->get($key)['value'];
144+
->get($key)['value']
145+
?? null;
141146
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:books:genealabslaravelmodelcachingtestsfixturesbook");
142147
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesbook"];
143148
$cachedBooks = $this->cache
144149
->tags($tags)
145-
->get($key)['value'];
150+
->get($key)['value']
151+
?? null;
146152
$key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:stores:genealabslaravelmodelcachingtestsfixturesstore");
147153
$tags = ["genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesstore"];
148154
$cachedStores = $this->cache
149155
->tags($tags)
150-
->get($key)['value'];
156+
->get($key)['value']
157+
?? null;
151158

152159
$this->assertEmpty($cachedAuthors);
153160
$this->assertEmpty($cachedBooks);

tests/Integration/DisabledCachedBuilderTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,8 @@ public function testPaginationIsCached()
309309

310310
$cachedResults = $this->cache()
311311
->tags($tags)
312-
->get($key)['value'];
312+
->get($key)['value']
313+
?? null;
313314
$liveResults = (new UncachedAuthor)
314315
->paginate(3);
315316

tests/Integration/HelperTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ public function testClosureRunsWithCacheDisabled()
1818

1919
$cachedResults1 = $this->cache()
2020
->tags($tags)
21-
->get($key)["value"];
21+
->get($key)["value"]
22+
?? null;
2223
(new Author)
2324
->get();
2425
$cachedResults2 = $this->cache()
2526
->tags($tags)
26-
->get($key)["value"];
27+
->get($key)["value"]
28+
?? null;
2729
$liveResults = (new UncachedAuthor)
2830
->get();
2931

tests/Integration/Traits/BuilderCachingTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ public function testDisablingAllQuery()
1818
$cachedAuthors = $this
1919
->cache()
2020
->tags($tags)
21-
->get($key)["value"];
21+
->get($key)["value"]
22+
?? null;
2223

2324
$this->assertInstanceOf(Collection::class, $allAuthors);
2425
$this->assertNull($cachedAuthors);

tests/Integration/Traits/CachableTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@ public function testSpecifyingAlternateCacheDriver()
3131
->all();
3232
$defaultcacheResults = app('cache')
3333
->tags($tags)
34-
->get($key)['value'];
34+
->get($key)['value']
35+
?? null;
3536
$customCacheResults = app('cache')
3637
->store('customCache')
3738
->tags($tags)
38-
->get($key)['value'];
39+
->get($key)['value']
40+
?? null;
3941
$liveResults = (new UncachedAuthor)
4042
->all();
4143

tests/database/baseline.sqlite

-12 KB
Binary file not shown.

tests/database/testing.sqlite

-12 KB
Binary file not shown.

0 commit comments

Comments
 (0)