seed(RestoreBackupSeeder::class); }); test('seeder creates expected number of roles', function () { expect(Role::count())->toBe(6); }); test('seeder creates expected roles with correct names', function () { expect(Role::pluck('name')->sort()->values()->all()) ->toBe(['Admin', 'Broker', 'Customer', 'Manufacturer', 'Retailer', 'Super-Admin']); }); test('seeder creates all 21 permissions', function () { expect(Permission::count())->toBe(21); }); test('seeder creates 12 partners', function () { expect(Partner::count())->toBe(12); }); test('seeder creates 13 users including soft-deleted', function () { expect(User::withTrashed()->count())->toBe(13); expect(User::onlyTrashed()->count())->toBe(4); }); test('seeder assigns correct roles to users', function () { $admin = User::find(1); expect($admin)->not->toBeNull() ->and($admin->hasRole('Admin'))->toBeTrue(); $manufacturer = User::find(11); expect($manufacturer)->not->toBeNull() ->and($manufacturer->hasRole('Manufacturer'))->toBeTrue(); $retailer = User::find(15); expect($retailer)->not->toBeNull() ->and($retailer->hasRole('Retailer'))->toBeTrue(); }); test('seeder creates 2 brands linked to partners', function () { expect(Brand::count())->toBe(2); expect(Brand::find(1)->partner_id)->toBe(15); expect(Brand::find(2)->partner_id)->toBe(10); }); test('seeder creates 20 registration codes', function () { expect(RegistrationCode::count())->toBe(20); }); test('seeder preserves user-partner relationships', function () { $user = User::find(12); expect($user->partner_id)->toBe(11); expect($user->partner->company_name)->toBe('Max Möbelmann'); }); test('seeder can be run multiple times without errors', function () { $this->seed(RestoreBackupSeeder::class); expect(User::withTrashed()->count())->toBe(13); expect(Role::count())->toBe(6); expect(Partner::count())->toBe(12); });