create(); $domain = Domain::factory()->for($user)->createQuietly([ 'domain' => 'migrated-example.test', ]); $emailDomain = EmailDomain::create([ 'domain_id' => $domain->id, 'is_active' => true, ]); $mailbox = Mailbox::create([ 'email_domain_id' => $emailDomain->id, 'user_id' => $user->id, 'local_part' => 'info', 'password_hash' => '{CRYPT}$6$examplehash', 'name' => 'Info', ]); $response = $this->actingAs($user)->get(route('webmail.sso', $mailbox)); $response->assertStatus(200); $response->assertSee('Webmail Login Required'); $response->assertSee('Open Webmail Login'); } public function test_webmail_sso_shows_reset_required_when_password_missing(): void { $user = User::factory()->create(); $domain = Domain::factory()->for($user)->createQuietly([ 'domain' => 'reset-required.test', ]); $emailDomain = EmailDomain::create([ 'domain_id' => $domain->id, 'is_active' => true, ]); $mailbox = Mailbox::create([ 'email_domain_id' => $emailDomain->id, 'user_id' => $user->id, 'local_part' => 'support', 'password_hash' => '', 'name' => 'Support', ]); $response = $this->actingAs($user)->get(route('webmail.sso', $mailbox)); $response->assertStatus(200); $response->assertSee('Password Reset Required'); $response->assertSee('Go to Email Settings'); } }