Отправка POST звонка из браузера laravel dusk

Как мы можем отправить запрос POST от заката браузера? Я отправляю запрос POST, в сумерках, от пользователя admin для входа в систему как другой пользователь, но отладка показывает, что он выдает ошибку 403, что очевидно, поскольку я не отправляю запрос через экземпляр браузера. Чтобы понять, что я делаю, следую - это то, что я пытаюсь проверить

public function testLoginAs()
{
    $original = factory(User::class)->create([
        'roles' => ['admin'],
    ]);
    $other = factory(User::class)->create();

    $this->browse(function (Browser $browser) use ($original, $other) {
        $browser
            ->loginAs($original)
            ->assertAuthenticated()
            ->assertAuthenticatedAs($original)
            ->visit('/');

        // Only admin can perform this action
        $response = $this->call('POST', route('login.as', $other), ['_token' => csrf_token()]);
        //dd($response);

        $browser
            ->visit('/')
            ->assertAuthenticated()
            ->assertAuthenticatedAs($other);
    });
}

Ниже приведено сообщение об ошибке для dd($response) в тесте.

Sorry, you are not authorized to perform this action.
You are not currently logged in.

Есть ли способ, которым я могу отправить POST звонить из сумеречного браузера? Что-то вроде

$browser->call('POST', route('login.as', $other));
// OR
$browser->post(route('login.as', $other));

Я что-то пропустил?

Чтобы избежать проблемы с токеном CSRF, я добавил ['_token' => csrf_token()] а также пытался использовать use WithoutMiddleware; но без результата.

0 ответов

Другие вопросы по тегам