|
18 | 18 | use Zenstruck\Foundry\Tests\Fixtures\Factories\CategoryFactory; |
19 | 19 | use Zenstruck\Foundry\Tests\Fixtures\Factories\CommentFactory; |
20 | 20 | use Zenstruck\Foundry\Tests\Fixtures\Factories\ContactFactory; |
| 21 | +use Zenstruck\Foundry\Tests\Fixtures\Factories\EntityWithEnumFactory; |
21 | 22 | use Zenstruck\Foundry\Tests\Fixtures\Factories\PostFactory; |
22 | 23 | use Zenstruck\Foundry\Tests\Fixtures\Factories\PostFactoryWithInvalidInitialize; |
23 | 24 | use Zenstruck\Foundry\Tests\Fixtures\Factories\PostFactoryWithNullInitialize; |
24 | 25 | use Zenstruck\Foundry\Tests\Fixtures\Factories\PostFactoryWithValidInitialize; |
25 | 26 | use Zenstruck\Foundry\Tests\Fixtures\Factories\SpecificPostFactory; |
26 | 27 | use Zenstruck\Foundry\Tests\Fixtures\Factories\TagFactory; |
27 | 28 | use Zenstruck\Foundry\Tests\Fixtures\Factories\UserFactory; |
| 29 | +use Zenstruck\Foundry\Tests\Fixtures\PHP81\SomeEnum; |
28 | 30 |
|
29 | 31 | /** |
30 | 32 | * @author Kevin Bond <[email protected]> |
@@ -605,6 +607,21 @@ public function can_find_or_create_from_proxy_of_object(): void |
605 | 607 | self::assertSame($comment->object(), $comment2->object()); |
606 | 608 | } |
607 | 609 |
|
| 610 | + /** |
| 611 | + * @test |
| 612 | + * @requires PHP 8.1 |
| 613 | + */ |
| 614 | + public function can_find_or_create_entity_with_enum(): void |
| 615 | + { |
| 616 | + $entityWithEnum = EntityWithEnumFactory::findOrCreate($attributes = ['enum' => SomeEnum::VALUE]); |
| 617 | + EntityWithEnumFactory::assert()->count(1); |
| 618 | + |
| 619 | + $entityWithEnum2 = EntityWithEnumFactory::findOrCreate($attributes); |
| 620 | + EntityWithEnumFactory::assert()->count(1); |
| 621 | + |
| 622 | + self::assertSame($entityWithEnum->object(), $entityWithEnum2->object()); |
| 623 | + } |
| 624 | + |
608 | 625 | protected function categoryClass(): string |
609 | 626 | { |
610 | 627 | return Category::class; |
|
0 commit comments