seed(DatabaseSeeder::class); $user = User::query()->where('email', 'demo@example.com')->first(); $this->assertNotNull($user); $this->assertSame('Demo User', $user->name); $this->assertTrue(Hash::check('password', $user->password)); } public function test_seeder_is_idempotent(): void { $this->seed(DatabaseSeeder::class); $this->seed(DatabaseSeeder::class); $this->assertSame(1, User::query()->where('email', 'demo@example.com')->count()); } public function test_seeder_assigns_orphaned_recordings_to_demo_user(): void { Recording::query()->create([ 'title' => 'Orphan', 'original_filename' => 'orphan.mp3', 'file_path' => 'recordings/orphan.mp3', 'file_size_bytes' => 10, 'transcription_status' => 'pending', 'user_id' => null, ]); $this->seed(DatabaseSeeder::class); $user = User::query()->where('email', 'demo@example.com')->first(); $this->assertNotNull($user); $this->assertSame($user->id, Recording::query()->where('title', 'Orphan')->value('user_id')); } }