Skip to content

Commit d0c3471

Browse files
committed
Add test for raw columns in selects
1 parent baebeb6 commit d0c3471

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php namespace GeneaLabs\LaravelModelCaching\Tests\Integration\CachedBuilder;
2+
3+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Author;
4+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Book;
5+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Profile;
6+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Publisher;
7+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Store;
8+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\UncachedAuthor;
9+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\UncachedBook;
10+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\UncachedProfile;
11+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\UncachedPublisher;
12+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\UncachedStore;
13+
use GeneaLabs\LaravelModelCaching\Tests\Fixtures\Http\Resources\Author as AuthorResource;
14+
use GeneaLabs\LaravelModelCaching\Tests\IntegrationTestCase;
15+
use Illuminate\Foundation\Testing\RefreshDatabase;
16+
use Illuminate\Support\Collection;
17+
18+
class SelectTest extends IntegrationTestCase
19+
{
20+
public function testSelectWithRawColumns()
21+
{
22+
$key = sha1('genealabs:laravel-model-caching:testing::memory::genealabslaravelmodelcachingtestsfixturesbook_orderBy_author_id_asc');
23+
$tags = [
24+
'genealabs:laravel-model-caching:testing::memory::genealabslaravelmodelcachingtestsfixturesbook',
25+
];
26+
$selectArray = [
27+
app("db")->raw("author_id"),
28+
app("db")->raw("AVG(id) AS averageIds"),
29+
];
30+
31+
$books = (new Book)
32+
->select($selectArray)
33+
->groupBy("author_id")
34+
->orderBy("author_id")
35+
->get()
36+
->toArray();
37+
$cachedResults = $this
38+
->cache()
39+
->tags($tags)
40+
->get($key)['value']
41+
->toArray();
42+
$liveResults = (new Book)
43+
->select($selectArray)
44+
->groupBy("author_id")
45+
->orderBy("author_id")
46+
->get()
47+
->toArray();
48+
49+
$this->assertEquals($liveResults, $books);
50+
$this->assertEquals($liveResults, $cachedResults);
51+
}
52+
}

0 commit comments

Comments
 (0)