diff --git a/backend/tests/Feature/Database/DatabaseSeederTest.php b/backend/tests/Feature/Database/DatabaseSeederTest.php index ca1ec91..45a7e51 100644 --- a/backend/tests/Feature/Database/DatabaseSeederTest.php +++ b/backend/tests/Feature/Database/DatabaseSeederTest.php @@ -3,8 +3,10 @@ namespace Tests\Feature\Database; use App\Auth\PasswordHasher; +use App\Set\SetRepository; use App\Shared\ValueObject\EmailAddress; use App\User\UserRepository; +use Database\Seeders\UserSeeder; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; @@ -36,4 +38,26 @@ class DatabaseSeederTest extends TestCase $user->getPasswordHash(), )); } + + public function test_it_seeds_the_available_sets_idempotently(): void + { + $this->seed(); + $this->seed(); + + $sets = app(SetRepository::class)->all(); + + $this->assertDatabaseCount('sets', 3); + $this->assertSame( + ['Bible', 'Course', 'Fitness Program'], + array_map(function ($set): string { + return $set->getName(); + }, $sets), + ); + foreach ($sets as $set) { + $this->assertSame( + UserSeeder::EMAIL, + $set->getCreator()->getEmail()->value(), + ); + } + } }