SendingQueuedMailTest.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Illuminate\Tests\Integration\Mail;
  3. use Illuminate\Mail\Mailable;
  4. use Illuminate\Mail\SendQueuedMailable;
  5. use Illuminate\Queue\Middleware\RateLimited;
  6. use Illuminate\Support\Facades\Mail;
  7. use Illuminate\Support\Facades\Queue;
  8. use Illuminate\Support\Facades\View;
  9. use Orchestra\Testbench\TestCase;
  10. class SendingQueuedMailTest extends TestCase
  11. {
  12. protected function getEnvironmentSetUp($app)
  13. {
  14. $app['config']->set('mail.driver', 'array');
  15. View::addLocation(__DIR__.'/Fixtures');
  16. }
  17. public function testMailIsSentWithDefaultLocale()
  18. {
  19. Queue::fake();
  20. Mail::to('test@mail.com')->queue(new SendingQueuedMailTestMail);
  21. Queue::assertPushed(SendQueuedMailable::class, function ($job) {
  22. return $job->middleware[0] instanceof RateLimited;
  23. });
  24. }
  25. }
  26. class SendingQueuedMailTestMail extends Mailable
  27. {
  28. /**
  29. * Build the message.
  30. *
  31. * @return $this
  32. */
  33. public function build()
  34. {
  35. return $this->view('view');
  36. }
  37. public function middleware()
  38. {
  39. return [new RateLimited('limiter')];
  40. }
  41. }