Я пытаюсь проверить метод моего магазина для одной из моих моделей, и тест не отправляет события, приводящие к их сбою.
public function store(StoreProject $request)
{
Log::info($request);
$project = Project::create([
'name' => $request->name,
'created_by' => $request->created_by
]);
//TODO email user about project
event(new ProjectCreated($project));
return $project;
}
У меня есть событие ProjectCreated, которое будет использоваться с какой-либо службой сокетов для уведомления других.
public function a_project_emits_a_project_created_event()
{
Event::fake();
$this->signIn($user = factory(User::class)->create());
$project = factory(Project::class)->make(['created_by' => $user->id]);
$this->json('POST','/api/v1/projects',$project->toArray());
Event::assertDispatched(ProjectCreated::class, function ($e) use ($project) {
return $e->project->id === $project->id;
});
}
Я получаю эту ошибку и не уверен, почему, поскольку это должно быть правдой.
Ожидаемое событие [App \ Events \ ProjectCreated] не было отправлено.
✖ Не удалось утверждать, что ложь является истиной.