Невозможно протестировать приложения с Laravel Dusk, если приложение использует Laravel Passport для аутентификации.Это всегда 404, и если вы остановите тест с помощью ->stop()
, он начнет работать.
Приложение расположено: localhost:3000
, и все запросы проксированы на api.example.test
Я пыталсяаутентифицировать пользователя внутри теста:
$this->actingAs(User::find(1), 'api');
$browser->loginAs(User::find(1));
Passport::actingAs($this->user);
Но все так же.
Это не единственная проблема, я думаю, что главная проблема заключается также и в том, что я не могу войти с помощью Duskзаполнив форму и нажав кнопку «Войти»
$browser->visit('/login')
->type('@email', 'john@doe.com')
->type('@password', 'password')
->click('@login-button')
->waitForLocation('/');
Но опять же, если вы остановите тест с помощью ->stop()
, вы можете вручную нажать кнопку, и он войдет в систему.
Является ли Laravel Dusk бесполезным, если ваше приложение не использует базовую аутентификацию?