У меня есть тест, который пытается войти и получить детали. Мне нужно передать токен на предъявителя в заголовке запроса для этой операции. Пожалуйста, смотрите код ниже. Я мог видеть, что заголовок редко имеет заголовки, которые я установил. Может кто-нибудь дать мне указатель, чтобы решить эту проблему?
Я использую Laravel 7.2.2, PHP 7.4,
И я бегу php Ремесленник тест
Код:
public function a_user_can_get_details()
{
$this->create_user();
$response = $this->json('POST',
'/api/login',
[
"email" => "john.doe@example.com",
"password" => "john123"
]);
$response->assertSuccessful();
$token = Str::replaceLast('"', '', Str::replaceFirst('"', '', $response->getContent()));
$headers = [
'Accept' => 'application/json',
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $token
];
$response = $this->withHeaders($headers)
->get('api/user');
$response->assertSuccessful();
$this->assertCount(1, User::all());
}
И вот ошибка, которую я получаю. На самом деле, тест должен пройти. Это правильное имя пользователя и пароль:
Response status code [403] is not a successful status code. Failed asserting that false is true.
at tests/Feature/UserTest.php:141
137|
138| $response = $this->withHeaders($headers)
139| ->get('api/user');
140|
> 141| $response->assertSuccessful();
142| $this->assertCount(1, User::all());
143|
144| }
145|