assertNotDispatched
Метод assertNotDispatched класса Testable проверяет,
что определённое событие не было отправлено (dispatched) из компонента
в процессе теста. Этот метод полезен, когда нужно убедиться,
что определённое событие не было вызвано при выполнении действия.
В метод передаётся имя события, которое не должно было быть отправлено.
Синтаксис
$component->assertNotDispatched('eventName');
Метод принимает имя события в виде строки. Возвращает тот же экземпляр
Testable для построения цепочки утверждений.
Пример
Давайте проверим, что событие не отправляется при выполнении метода, которое не должно вызывать это событие:
<?php
namespace AppLivewire;
use LivewireComponent;
class Counter extends Component
{
public $num = 0;
protected $listeners = ['increment' => 'inc'];
public function inc()
{
$this->num++;
}
public function doNothing()
{
// Метод, который не отправляет событие
}
public function render()
{
return view('livewire.counter');
}
}
?>
<?php
use LivewireLivewire;
use AppLivewireCounter;
it('does not dispatch increment event on doNothing', function () {
$component = Livewire::test(Counter::class);
$component
->call('doNothing')
->assertNotDispatched('increment');
});
?>
Результат выполнения кода:
OK (1 test, 1 assertion)
Пример
Проверим, что событие не отправляется несколько раз при действии, которое не должно его вызывать:
<?php
namespace AppLivewire;
use LivewireComponent;
class UserNotifier extends Component
{
public $status = 'idle';
public function activate()
{
$this->status = 'active';
// Событие не отправляется
}
public function render()
{
return view('livewire.user-notifier');
}
}
?>
<?php
use LivewireLivewire;
use AppLivewireUserNotifier;
it('does not send notification event on activate', function () {
$component = Livewire::test(UserNotifier::class);
$component
->call('activate')
->assertNotDispatched('notification-sent');
});
?>
Результат выполнения кода:
OK (1 test, 1 assertion)
Смотрите также
-
метод
assertDispatched,
который проверяет отправку события -
метод
dispatch,
который отправляет событие из теста -
метод
call,
который вызывает метод компонента в тесте -
метод
assertOk,
который проверяет успешный статус ответа