diff --git a/app/Mail/OrderConfirmationEmail.php b/app/Mail/OrderConfirmationEmail.php index e2751dc..095bcde 100644 --- a/app/Mail/OrderConfirmationEmail.php +++ b/app/Mail/OrderConfirmationEmail.php @@ -30,6 +30,7 @@ class OrderConfirmationEmail extends Mailable */ public function build() { - return $this->view('view.name'); + return $this->view('emails.order-confirmation-email') + ->subject("Your TicketBeast Order"); } } diff --git a/resources/views/emails/order-confirmation-email.blade.php b/resources/views/emails/order-confirmation-email.blade.php new file mode 100644 index 0000000..82ce7e9 --- /dev/null +++ b/resources/views/emails/order-confirmation-email.blade.php @@ -0,0 +1,7 @@ +
Thanks for your order!
+ +You can view your tickets at any time by visiting this URL:
+ ++ confirmation_number}") }}">{{ url("/orders/{$order->confirmation_number}") }} +
diff --git a/tests/unit/Mail/OrderConfirmationEmailTest.php b/tests/unit/Mail/OrderConfirmationEmailTest.php new file mode 100644 index 0000000..5ed51a6 --- /dev/null +++ b/tests/unit/Mail/OrderConfirmationEmailTest.php @@ -0,0 +1,39 @@ +make([ + 'confirmation_number' => 'ORDERCONFIRMATION1234' + ]); + $email = new OrderConfirmationEmail($order); + $rendered = $this->render($email); + + // In Laravel 5.5... + // $rendered = $email->render(); + + $this->assertContains(url('/orders/ORDERCONFIRMATION1234'), $rendered); + } + + /** @test */ + function email_has_a_subject() + { + $order = factory(Order::class)->make(); + $email = new OrderConfirmationEmail($order); + $this->assertEquals("Your TicketBeast Order", $email->build()->subject); + } + + private function render($mailable) + { + $mailable->build(); + return view($mailable->view, $mailable->buildViewData())->render(); + } +}