Как проверить уведомления в очереди? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть WelcomeNotification, который реализует ShouldQueue

class WelcomeNotification extends Notification implements ShouldQueue
{
    use Queueable;

    public function via($notifiable)
    {
        return ['mail'];
    }

    public function toMail($notifiable)
    {
        // send a welcome message to the user via mailtrap
    }

}

Как я могу проверить, было ли это уведомление отправлено в очередь?

Я пытаюсь проверить его какэто, но я получаю The expected [App\Notifications\WelcomeNotification] job was not pushed

    /** @test */
    public function welcome_notification_is_pushed_to_queue()
    {
        Queue::fake();

        $this->post(route('register'), [
            'name' => 'John Doe',
            'email' => 'john@test.com',
            'password' => 'passwordtest',
        ]);

        Queue::assertPushed(WelcomeNotification::class);
    }

Внутри моей зарегистрированной функции в RegisterController:

    protected function registered(Request $request, $user)
    {
          $user->notify(new WelcomeNotification());
          // other code
    }

Я успешно утверждал, что WelcomeNotification правильно отправляется пользователюпри регистрации с помощью Notification::assertSentTo.

Моя проблема в том, как проверить, был ли WelcomeNotification помещен в очередь или нет?

1 Ответ

0 голосов
/ 04 ноября 2019

Вам необходимо настроить драйвер очереди (база данных будет самой простой), а затем запустить php artisan queue:work. Проверьте документы на laravel.com .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...