155 - Test-Driving the Email Contents

This commit is contained in:
Adam Wathan
2017-12-08 15:05:45 -05:00
parent 4301fb942e
commit 10ce7477d9
3 changed files with 42 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ class InvitationEmail extends Mailable
*/
public function build()
{
return $this->view('view.name');
return $this->view('emails.invitation-email')
->subject("You're invited to join TicketBeast!");
}
}

View File

@@ -0,0 +1,6 @@
<p>You're invited to promote your concerts on TicketBeast!</p>
<p>
Visit this link to create your account:
<a href="{{ url("/invitations/{$invitation->code}") }}">{{ url("/invitations/{$invitation->code}") }}</a>
</p>

View File

@@ -0,0 +1,34 @@
<?php
namespace Tests\Unit\Mail;
use App\Invitation;
use Tests\TestCase;
use App\Mail\InvitationEmail;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
class InvitationEmailTest extends TestCase
{
/** @test */
function email_contains_a_link_to_accept_the_invitation()
{
$invitation = factory(Invitation::class)->make([
'email' => 'john@example.com',
'code' => 'TESTCODE1234',
]);
$email = new InvitationEmail($invitation);
$this->assertContains(url('/invitations/TESTCODE1234'), $email->render());
}
/** @test */
function email_has_the_correct_subject()
{
$invitation = factory(Invitation::class)->make();
$email = new InvitationEmail($invitation);
$this->assertEquals("You're invited to join TicketBeast!", $email->build()->subject);
}
}