É comum fazer o mock de notificações no Laravel e validar apenas se a notificações foi enviada e para quem ela foi enviada, mas é bastante útil sabe se o conteúdo do email enviado pela notificação é igual ao que esperamos.
Para fazer isso precisamos fazer uso do callback do método assertSentTo
, no exemplo a baixo vamos validar se o assunto do email enviado na notificação é o mesmo que esperamos:
Notification::fake(); // Envia a notificação $user->notify(new NotificationClass()); $subjectMessage = "Assunto do email deve ser esse"; // Verifica o envio da notificação Notification::assertSentTo( $user, // Usuário que recebeu a notificação NotificationClass::class, // Classe da notificação que foi enviada function ($notification) use ($subjectMessage, $user) { // Pega o assunto que foi enviado no email de notificação $subjectSent = $notification->toMail($user)->subject; $this->assertEquals($subjectMessage, $subjectSent); return true; } );
Deixe um comentário