'NNTmux', 'app.url' => 'http://localhost', 'mail.from.address' => 'noreply@example.test', 'mail.brand.subject_prefix' => '[NNTmux] ', 'mail.brand.queue' => 'emails', ]); } public function test_branded_verification_extends_framework_notification_for_compatibility(): void { $this->assertInstanceOf(VerifyEmail::class, new VerifyEmailBranded); } public function test_branded_verification_implements_should_queue(): void { $this->assertInstanceOf(ShouldQueue::class, new VerifyEmailBranded); } public function test_branded_verification_renders_through_themed_markdown_template(): void { $notifiable = new class extends stdClass { public int $id = 7; public string $username = 'tester'; public string $email = 'tester@example.test'; public function getKey(): int { return $this->id; } public function getEmailForVerification(): string { return $this->email; } }; $notification = new VerifyEmailBranded; /** @var MailMessage $message */ $message = $notification->toMail($notifiable); $this->assertSame('[NNTmux] Verify your email address', $message->subject); $this->assertSame('emails.markdown.verify', $message->markdown); $this->assertArrayHasKey('site', $message->viewData); $this->assertSame('NNTmux', $message->viewData['site']); $this->assertSame('tester', $message->viewData['username']); $this->assertNotEmpty($message->viewData['url']); } public function test_user_dispatches_branded_verification_when_notifying(): void { Notification::fake(); $user = new User; $user->id = 99; $user->email = 'verify@example.test'; $user->username = 'verifyuser'; $user->sendEmailVerificationNotification(); Notification::assertSentTo($user, VerifyEmailBranded::class); } }