При попытке протестировать экспресс-веб-приложение, которое я создаю, тест должен сначала пройти аутентификацию для получения токена JWT, поиск токена работает, но метод установки заголовка для дальнейших запросов не работает.
Этот кодсоздает метод для запуска, когда требуется аутентификация,
Cypress.Commands.add("userRequest", function(requestObj) {
// Make a login request, returning a JWT token
cy.request({
method: 'POST',
url: '/credentials',
body: {
"name": "test_user",
"password": "test123_"
}
}).then(function(response) {
requestObj.headers = requestObj.headers || {};
requestObj.headers.Authentication = response.body.token;
return cy.request(requestObj);
});
Это код, который запускается
it('retrieves one user', function () {
cy.userRequest(cy.request({
url: '/users/1'
})).then(function (response) {
expect(response.body.name).to.equal("admin");
});
});
НО при запуске теста консоль сообщает мне
CypressError: cy.request () не удалось:
http://localhost:3000/users/1
Ответ, который мы получили от вашего веб-сервера, был:
401: не авторизован
Это считалось ошибкой, потому что код состояния не был «2xx» или «3xx».
Кто-нибудь может мне помочь?
заранее спасибо!