Команда Assert Laravel вызывается в тесте - PullRequest
0 голосов
/ 28 января 2020

Я вызываю Laravel команды из Laravel команды. Это работает, , но я хочу проверить, называются ли подкоманды A и / или B .

Ниже упрощенной версии:

final class HandleActions extends Command
{
    public function handle()
    {
        foreach ($items as $item) {
            if ($item->price * 2.24 > 100) {
                $this->call('order:reprocess'); // command A
            }

            if (!$item->stock) {
                $this->call('order:cleanup'); // command B
            }
        }
    }
}

Я проверяю эту команду как так (упрощенно), поэтому я знаю, что основная команда возбуждается успешно.

    $this->artisan('command')->assertExitCode(0);
    // How do I assert command A is fired?
    // How do I assert command B is fired?

Я хочу утверждать, что подкоманда 1 запущена и / или подкоманда 2 запущена. Но как это сделать?

1 Ответ

0 голосов
/ 29 января 2020

Вы можете запустить событие из подкоманд, а затем подтвердить в своем тесте, что событие (события) сработало, с помощью Event::assertDispatched

...