154 - Sending Promoters an Invitation Email

This commit is contained in:
Adam Wathan
2017-12-08 14:50:37 -05:00
parent d4bcb02a8e
commit 4301fb942e
4 changed files with 53 additions and 2 deletions

View File

@@ -4,7 +4,9 @@ namespace Tests\Feature;
use App\Invitation;
use Tests\TestCase;
use App\Mail\InvitationEmail;
use App\Facades\InvitationCode;
use Illuminate\Support\Facades\Mail;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
@@ -15,6 +17,7 @@ class InvitePromoterTest extends TestCase
/** @test */
function inviting_a_promoter_via_the_cli()
{
Mail::fake();
InvitationCode::shouldReceive('generate')->andReturn('TESTCODE1234');
$this->artisan('invite-promoter', ['email' => 'john@example.com']);
@@ -23,5 +26,10 @@ class InvitePromoterTest extends TestCase
$invitation = Invitation::first();
$this->assertEquals('john@example.com', $invitation->email);
$this->assertEquals('TESTCODE1234', $invitation->code);
Mail::assertSent(InvitationEmail::class, function ($mail) use ($invitation) {
return $mail->hasTo('john@example.com')
&& $mail->invitation->is($invitation);
});
}
}