Skip to content

Trigger email failures to assert what happens on your Laravel Application when an email fails to send

License

Notifications You must be signed in to change notification settings

rogervila/laravel-email-failer

Repository files navigation

Laravel Email Failer

Build Status Build status StyleCI Latest Stable Version Total Downloads License MadeWithLaravel.com shield

Laravel Email Failer

composer require --dev rogervila/laravel-email-failer

About

Trigger email failures to assert what happens on your Laravel Application when an email fails to send

Usage

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
}

License

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

About

Trigger email failures to assert what happens on your Laravel Application when an email fails to send

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages