Уведомление отправляется даже после установки Notification :: fake () - PullRequest
0 голосов
/ 16 декабря 2018

Я тестирую уведомления в своем приложении, и вот мой код, чтобы проверить, что Администратор получает уведомление:

public function testAdminReceivesNotifications()
{
    Notification::fake();

    $admin = $this->preload();

    $taskTitle = str_random();

    $project = Project::first();

    $projectMember = factory(\App\Models\User::class)->create([
        'type'          => 'INTERNAL'
    ]);

    $project->users()->save($projectMember, [
        'project_permissions' => [1,2,3,4,5,6,7,8,10]
    ]);

    $this->browse(function (Browser $browser, Browser $secondBrowser) use($admin, $taskTitle, $project, $projectMember) {

        $this->login($browser, $admin)
            ->visit("p/{$project->slug}")
            ->waitForText('Add Task')
            ->click("@add-task")
            ->waitForText('Create Task')
            ->type('@task-title', $taskTitle)
            ->keys('[trix-id="1"]', str_random())
            ->press('SAVE TASK')
            ->waitForText('Post anyway')
            ->press('Post anyway')
            ->waitForText('Unscheduled')
            ->pause(1000)
            ->assertSee('Unscheduled')
            ->assertSee($taskTitle);

        $task = Project\Todo::where('title', $taskTitle)->first();

        $this->login($secondBrowser, $projectMember)
            ->visit("p/{$project->slug}/tasks/{$task->id}")
            ->waitForText($task->title)
            ->keys('trix-editor', str_random() . "message by another member")
            ->press('Reply')
            ->pause(2000);
    });

    Notification::assertSentTo($admin,TodoMessageCreated::class);
}

Проблема, которую я получаю - даже если я установил фальшивку Уведомления - электронная почтапри отправке (я использую журнал в качестве драйвера почты в своих тестах и ​​вижу электронную почту в журналах. Я проверил - я могу убедиться, что TodoMessageCreated сработал.

...