Code Duplication    Length = 19-20 lines in 4 locations

tests/Integration/CachedBuilder/GetTest.php 1 location

@@ 50-68 (lines=19) @@
47
        $this->assertEquals($author->toArray(), $uncachedAuthor->toArray());
48
    }
49
50
    public function testGetWithFieldArrayCachesResults()
51
    {
52
        $key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:authors:genealabslaravelmodelcachingtestsfixturesauthor_id_name-authors.deleted_at_null");
53
        $tags = [
54
            "genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesauthor",
55
        ];
56
57
        $authors = (new Author)
58
            ->get(["id", "name"]);
59
        $cachedResults = $this
60
            ->cache()
61
            ->tags($tags)
62
            ->get($key)['value'];
63
        $liveResults = (new UncachedAuthor)
64
            ->get(["id", "name"]);
65
66
        $this->assertEquals($liveResults->pluck("id"), $authors->pluck("id"));
67
        $this->assertEquals($liveResults->pluck("id"), $cachedResults->pluck("id"));
68
    }
69
70
    public function testGetWithFieldStringCachesResults()
71
    {

tests/Integration/CachedBuilderTest.php 3 locations

@@ 586-605 (lines=20) @@
583
        $this->assertNull($deletedAuthor);
584
    }
585
586
    public function testWhereBetweenIdsResults()
587
    {
588
        $books = (new Book)
589
            ->whereBetween('price', [5, 10])
590
            ->get();
591
        $key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:books:genealabslaravelmodelcachingtestsfixturesbook-price_between_5_10");
592
        $tags = [
593
            "genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesbook",
594
        ];
595
596
        $cachedResults = $this->cache()
597
            ->tags($tags)
598
            ->get($key)['value'];
599
        $liveResults = (new UncachedAuthor)
600
            ->whereBetween('price', [5, 10])
601
            ->get();
602
603
        $this->assertTrue($cachedResults->diffKeys($books)->isEmpty());
604
        $this->assertTrue($liveResults->diffKeys($books)->isEmpty());
605
    }
606
607
    public function testWhereBetweenDatesResults()
608
    {
@@ 607-626 (lines=20) @@
604
        $this->assertTrue($liveResults->diffKeys($books)->isEmpty());
605
    }
606
607
    public function testWhereBetweenDatesResults()
608
    {
609
        $books = (new Book)
610
            ->whereBetween('created_at', ['2018-01-01', '2018-12-31'])
611
            ->get();
612
        $key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:books:genealabslaravelmodelcachingtestsfixturesbook-created_at_between_2018-01-01_2018-12-31");
613
        $tags = [
614
            "genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesbook",
615
        ];
616
617
        $cachedResults = $this->cache()
618
            ->tags($tags)
619
            ->get($key)['value'];
620
        $liveResults = (new UncachedAuthor)
621
            ->whereBetween('price', [5, 10])
622
            ->get();
623
624
        $this->assertTrue($cachedResults->diffKeys($books)->isEmpty());
625
        $this->assertTrue($liveResults->diffKeys($books)->isEmpty());
626
    }
627
628
    public function testWhereDatesResults()
629
    {
@@ 628-647 (lines=20) @@
625
        $this->assertTrue($liveResults->diffKeys($books)->isEmpty());
626
    }
627
628
    public function testWhereDatesResults()
629
    {
630
        $books = (new Book)
631
            ->whereDate('created_at', '>=', '2018-01-01')
632
            ->get();
633
        $key = sha1("genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:books:genealabslaravelmodelcachingtestsfixturesbook-created_at_>=_2018-01-01");
634
        $tags = [
635
            "genealabs:laravel-model-caching:testing:{$this->testingSqlitePath}testing.sqlite:genealabslaravelmodelcachingtestsfixturesbook",
636
        ];
637
638
        $cachedResults = $this->cache()
639
            ->tags($tags)
640
            ->get($key)['value'];
641
        $liveResults = (new UncachedAuthor)
642
            ->whereBetween('price', [5, 10])
643
            ->get();
644
645
        $this->assertTrue($cachedResults->diffKeys($books)->isEmpty());
646
        $this->assertTrue($liveResults->diffKeys($books)->isEmpty());
647
    }
648
649
    public function testHashCollision()
650
    {