composer require --dev rogervila/laravel-email-failer
Trigger email failures to assert what happens on your Laravel Application when an email fails to send
Once MailFailer instance is binded, all emails will fail. This helps to assert that your application Mail exceptions are handled correctly (ie: mark the email address as invalid)
class MyService
{
public static function sendEmail()
{
\Illuminate\Support\Facades\Mail::send(...);
}
}
public function test_happy_path()
{
Mail::fake();
MyService::sendEmail();
Mail::assertSent(MyMailable::class);
}
public function test_email_failures()
{
$this->expectException(TransportException::class);
\LaravelEmailFailer\MailFailer::bind();
MyService::sendEmail();
Mail::assertNotSent(MyMailable::class);
dump(Mail::failures());
// Assert here what happens when the email has failed
}
Laravel Email Failer is open-sourced software licensed under the MIT license.
Icon made by Darius Dan from www.flaticon.com is licensed by CC 3.0 BY