| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- <?php
- namespace Illuminate\Tests\Notifications;
- use Illuminate\Notifications\Messages\MailMessage;
- use PHPUnit\Framework\TestCase;
- class NotificationMailMessageTest extends TestCase
- {
- public function testTemplate()
- {
- $message = new MailMessage;
- $this->assertSame('notifications::email', $message->markdown);
- $message->template('notifications::foo');
- $this->assertSame('notifications::foo', $message->markdown);
- }
- public function testHtmlAndPlainView()
- {
- $message = new MailMessage;
- $this->assertNull($message->view);
- $this->assertSame([], $message->viewData);
- $message->view(['notifications::foo', 'notifications::bar'], [
- 'foo' => 'bar',
- ]);
- $this->assertSame('notifications::foo', $message->view[0]);
- $this->assertSame('notifications::bar', $message->view[1]);
- $this->assertSame(['foo' => 'bar'], $message->viewData);
- }
- public function testHtmlView()
- {
- $message = new MailMessage;
- $this->assertNull($message->view);
- $this->assertSame([], $message->viewData);
- $message->view('notifications::foo', [
- 'foo' => 'bar',
- ]);
- $this->assertSame('notifications::foo', $message->view);
- $this->assertSame(['foo' => 'bar'], $message->viewData);
- }
- public function testPlainView()
- {
- $message = new MailMessage;
- $this->assertNull($message->view);
- $this->assertSame([], $message->viewData);
- $message->view([null, 'notifications::foo'], [
- 'foo' => 'bar',
- ]);
- $this->assertSame('notifications::foo', $message->view[1]);
- $this->assertSame(['foo' => 'bar'], $message->viewData);
- }
- public function testCcIsSetCorrectly()
- {
- $message = new MailMessage;
- $message->cc('test@example.com');
- $this->assertSame([['test@example.com', null]], $message->cc);
- $message = new MailMessage;
- $message->cc('test@example.com')
- ->cc('test@example.com', 'Test');
- $this->assertSame([['test@example.com', null], ['test@example.com', 'Test']], $message->cc);
- $message = new MailMessage;
- $message->cc(['test@example.com', 'Test' => 'test@example.com']);
- $this->assertSame([['test@example.com', null], ['test@example.com', 'Test']], $message->cc);
- }
- public function testBccIsSetCorrectly()
- {
- $message = new MailMessage;
- $message->bcc('test@example.com');
- $this->assertSame([['test@example.com', null]], $message->bcc);
- $message = new MailMessage;
- $message->bcc('test@example.com')
- ->bcc('test@example.com', 'Test');
- $this->assertSame([['test@example.com', null], ['test@example.com', 'Test']], $message->bcc);
- $message = new MailMessage;
- $message->bcc(['test@example.com', 'Test' => 'test@example.com']);
- $this->assertSame([['test@example.com', null], ['test@example.com', 'Test']], $message->bcc);
- }
- public function testReplyToIsSetCorrectly()
- {
- $message = new MailMessage;
- $message->replyTo('test@example.com');
- $this->assertSame([['test@example.com', null]], $message->replyTo);
- $message = new MailMessage;
- $message->replyTo('test@example.com')
- ->replyTo('test@example.com', 'Test');
- $this->assertSame([['test@example.com', null], ['test@example.com', 'Test']], $message->replyTo);
- $message = new MailMessage;
- $message->replyTo(['test@example.com', 'Test' => 'test@example.com']);
- $this->assertSame([['test@example.com', null], ['test@example.com', 'Test']], $message->replyTo);
- }
- public function testCallbackIsSetCorrectly()
- {
- $callback = function () {
- //
- };
- $message = new MailMessage;
- $message->withSwiftMessage($callback);
- $this->assertSame([$callback], $message->callbacks);
- }
- public function testWhenCallback()
- {
- $callback = function (MailMessage $mailMessage, $condition) {
- $this->assertTrue($condition);
- $mailMessage->cc('cc@example.com');
- };
- $message = new MailMessage;
- $message->when(true, $callback);
- $this->assertSame([['cc@example.com', null]], $message->cc);
- $message = new MailMessage;
- $message->when(false, $callback);
- $this->assertSame([], $message->cc);
- }
- public function testWhenCallbackWithReturn()
- {
- $callback = function (MailMessage $mailMessage, $condition) {
- $this->assertTrue($condition);
- return $mailMessage->cc('cc@example.com');
- };
- $message = new MailMessage;
- $message->when(true, $callback)->bcc('bcc@example.com');
- $this->assertSame([['cc@example.com', null]], $message->cc);
- $this->assertSame([['bcc@example.com', null]], $message->bcc);
- $message = new MailMessage;
- $message->when(false, $callback)->bcc('bcc@example.com');
- $this->assertSame([], $message->cc);
- $this->assertSame([['bcc@example.com', null]], $message->bcc);
- }
- public function testWhenCallbackWithDefault()
- {
- $callback = function (MailMessage $mailMessage, $condition) {
- $this->assertSame('truthy', $condition);
- $mailMessage->cc('truthy@example.com');
- };
- $default = function (MailMessage $mailMessage, $condition) {
- $this->assertEquals(0, $condition);
- $mailMessage->cc('zero@example.com');
- };
- $message = new MailMessage;
- $message->when('truthy', $callback, $default);
- $this->assertSame([['truthy@example.com', null]], $message->cc);
- $message = new MailMessage;
- $message->when(0, $callback, $default);
- $this->assertSame([['zero@example.com', null]], $message->cc);
- }
- public function testUnlessCallback()
- {
- $callback = function (MailMessage $mailMessage, $condition) {
- $this->assertFalse($condition);
- $mailMessage->cc('test@example.com');
- };
- $message = new MailMessage;
- $message->unless(false, $callback);
- $this->assertSame([['test@example.com', null]], $message->cc);
- $message = new MailMessage;
- $message->unless(true, $callback);
- $this->assertSame([], $message->cc);
- }
- public function testUnlessCallbackWithReturn()
- {
- $callback = function (MailMessage $mailMessage, $condition) {
- $this->assertFalse($condition);
- return $mailMessage->cc('cc@example.com');
- };
- $message = new MailMessage;
- $message->unless(false, $callback)->bcc('bcc@example.com');
- $this->assertSame([['cc@example.com', null]], $message->cc);
- $this->assertSame([['bcc@example.com', null]], $message->bcc);
- $message = new MailMessage;
- $message->unless(true, $callback)->bcc('bcc@example.com');
- $this->assertSame([], $message->cc);
- $this->assertSame([['bcc@example.com', null]], $message->bcc);
- }
- public function testUnlessCallbackWithDefault()
- {
- $callback = function (MailMessage $mailMessage, $condition) {
- $this->assertEquals(0, $condition);
- $mailMessage->cc('zero@example.com');
- };
- $default = function (MailMessage $mailMessage, $condition) {
- $this->assertSame('truthy', $condition);
- $mailMessage->cc('truthy@example.com');
- };
- $message = new MailMessage;
- $message->unless(0, $callback, $default);
- $this->assertSame([['zero@example.com', null]], $message->cc);
- $message = new MailMessage;
- $message->unless('truthy', $callback, $default);
- $this->assertSame([['truthy@example.com', null]], $message->cc);
- }
- }
|