|
6 | 6 |
|
7 | 7 | use Carbon\Carbon; |
8 | 8 | use DateTimeImmutable; |
9 | | -use Tempest\Database\Exceptions\MissingRelation; |
10 | | -use Tempest\Database\Exceptions\MissingValue; |
11 | 9 | use Tempest\Database\Id; |
12 | | -use Tempest\Database\Migrations\CreateMigrationsTable; |
13 | | -use Tests\Tempest\Fixtures\Migrations\CreateAuthorTable; |
14 | | -use Tests\Tempest\Fixtures\Migrations\CreateBookTable; |
| 10 | +use function Tempest\map; |
15 | 11 | use Tests\Tempest\Fixtures\Models\A; |
16 | | -use Tests\Tempest\Fixtures\Models\AWithEager; |
17 | | -use Tests\Tempest\Fixtures\Models\AWithLazy; |
18 | | -use Tests\Tempest\Fixtures\Models\AWithValue; |
19 | 12 | use Tests\Tempest\Fixtures\Models\B; |
20 | 13 | use Tests\Tempest\Fixtures\Models\C; |
21 | | -use Tests\Tempest\Fixtures\Modules\Books\Models\Author; |
22 | | -use Tests\Tempest\Fixtures\Modules\Books\Models\AuthorType; |
| 14 | +use Tests\Tempest\Fixtures\Models\AWithLazy; |
| 15 | +use Tempest\Database\Exceptions\MissingValue; |
| 16 | +use Tests\Tempest\Fixtures\Models\AWithEager; |
| 17 | +use Tests\Tempest\Fixtures\Models\AWithValue; |
| 18 | +use Tests\Tempest\Fixtures\Models\AWithVirtual; |
| 19 | +use Tempest\Database\Exceptions\MissingRelation; |
| 20 | +use Tests\Tempest\Integration\ORM\Models\CasterEnum; |
| 21 | +use Tests\Tempest\Integration\ORM\Models\ChildModel; |
23 | 22 | use Tests\Tempest\Fixtures\Modules\Books\Models\Book; |
24 | | -use Tests\Tempest\Integration\FrameworkIntegrationTestCase; |
| 23 | +use Tests\Tempest\Integration\ORM\Models\CarbonModel; |
| 24 | +use Tests\Tempest\Integration\ORM\Models\CasterModel; |
| 25 | +use Tests\Tempest\Integration\ORM\Models\ParentModel; |
| 26 | +use Tempest\Database\Migrations\CreateMigrationsTable; |
| 27 | +use Tests\Tempest\Fixtures\Migrations\CreateBookTable; |
| 28 | +use Tests\Tempest\Integration\ORM\Models\ThroughModel; |
| 29 | +use Tests\Tempest\Fixtures\Modules\Books\Models\Author; |
| 30 | +use Tests\Tempest\Fixtures\Migrations\CreateAuthorTable; |
25 | 31 | use Tests\Tempest\Integration\ORM\Migrations\CreateATable; |
26 | 32 | use Tests\Tempest\Integration\ORM\Migrations\CreateBTable; |
| 33 | +use Tests\Tempest\Integration\ORM\Migrations\CreateCTable; |
| 34 | +use Tests\Tempest\Fixtures\Modules\Books\Models\AuthorType; |
| 35 | +use Tests\Tempest\Integration\FrameworkIntegrationTestCase; |
27 | 36 | use Tests\Tempest\Integration\ORM\Migrations\CreateCarbonModelTable; |
28 | 37 | use Tests\Tempest\Integration\ORM\Migrations\CreateCasterModelTable; |
29 | | -use Tests\Tempest\Integration\ORM\Migrations\CreateCTable; |
30 | 38 | use Tests\Tempest\Integration\ORM\Migrations\CreateHasManyChildTable; |
31 | 39 | use Tests\Tempest\Integration\ORM\Migrations\CreateHasManyParentTable; |
32 | 40 | use Tests\Tempest\Integration\ORM\Migrations\CreateHasManyThroughTable; |
33 | | -use Tests\Tempest\Integration\ORM\Models\CarbonModel; |
34 | | -use Tests\Tempest\Integration\ORM\Models\CasterEnum; |
35 | | -use Tests\Tempest\Integration\ORM\Models\CasterModel; |
36 | | -use Tests\Tempest\Integration\ORM\Models\ChildModel; |
37 | | -use Tests\Tempest\Integration\ORM\Models\ParentModel; |
38 | | -use Tests\Tempest\Integration\ORM\Models\ThroughModel; |
39 | | -use function Tempest\map; |
40 | 41 |
|
41 | 42 | /** |
42 | 43 | * @internal |
@@ -399,6 +400,26 @@ public function test_no_result(): void |
399 | 400 | $this->assertNull(A::query()->first()); |
400 | 401 | } |
401 | 402 |
|
| 403 | + public function test_virtual_property(): void |
| 404 | + { |
| 405 | + $this->migrate( |
| 406 | + CreateMigrationsTable::class, |
| 407 | + CreateATable::class, |
| 408 | + CreateBTable::class, |
| 409 | + CreateCTable::class, |
| 410 | + ); |
| 411 | + |
| 412 | + (new A( |
| 413 | + b: new B( |
| 414 | + c: new C(name: 'test'), |
| 415 | + ), |
| 416 | + ))->save(); |
| 417 | + |
| 418 | + $a = AWithVirtual::query()->first(); |
| 419 | + |
| 420 | + $this->assertSame($a->id->id * -1, $a->fake); |
| 421 | + } |
| 422 | + |
402 | 423 | public function test_update_or_create(): void |
403 | 424 | { |
404 | 425 | $this->migrate( |
|
0 commit comments