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);

0 commit comments

Comments
 (0)