Я бы хотел, чтобы мой Model :: event () отправлял CustomEvent.Например, Customer :: save () проверит, меняется ли автоматический платеж с выключенного на включенное, а затем событие (новый AutoPayActivationEvent ($ customer)).
Однако, как кажется, в моих модульных тестах я могуне утверждаю, что вторичное событие отправлено.
Вот как выглядит тест ...
/**
* @see CustomerObserver::class
*
* @test
*/
public function emits_autopay_turned_off_event(){
if(!$this->customer->automatic_payments){
$this->customer->automatic_payments = 1;
$this->customer->save();
}
$this->customer->automatic_payments = 0;
Event::fake();
$this->customer->save();
// this assertion works
Event::assertDispatched( 'eloquent.saved: '. Customer::class);
//this assertion fails, but the event is firing.
Event::assertDispatched(CustomerTurnedOffAutoPayEvent::class);
}
Когда я прохожу код и смотрю в диспетчере - я вижу только события модели,Может кто-нибудь помочь мне утверждать пользовательское событие?
Я не абсолютный новичок.Я могу использовать xdebug через phpunit и шаг за шагом все.Я знаю, что все события запускаются.
Еще одна вещь, я не знаю, имеет ли это значение ~ Я собрал это как пакет.Итак, регистрация Model / Observer у моего поставщика /../ ServiceProvider