137 - Mailable Testing Refresher and Demo

This commit is contained in:
Adam Wathan
2017-08-22 15:51:40 -04:00
parent 3a6be393f4
commit 4e00a17fa0
3 changed files with 33 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ class AttendeeMessageEmail extends Mailable
*/
public function build()
{
return $this->view('view.name');
return $this->subject($this->attendeeMessage->subject)
->text('emails.attendee-message-email');
}
}

View File

@@ -0,0 +1 @@
{{ $attendeeMessage->message }}

View File

@@ -0,0 +1,30 @@
<?php
namespace Tests\Unit\Mail;
use App\Order;
use Tests\TestCase;
use App\AttendeeMessage;
use App\Mail\AttendeeMessageEmail;
class AttendeeMessageEmailTest extends TestCase
{
/** @test */
function email_has_the_correct_subject_and_message()
{
$message = new AttendeeMessage([
'subject' => 'My subject',
'message' => 'My message',
]);
$email = new AttendeeMessageEmail($message);
$this->assertEquals("My subject", $email->build()->subject);
$this->assertEquals("My message", trim($this->render($email)));
}
private function render($mailable)
{
$mailable->build();
return view($mailable->textView, $mailable->buildViewData())->render();
}
}