Я пишу приемочные тесты для функции входа в мое приложение.В какой-то момент я хочу перепроверить время истечения cookie.
После нажатия кнопки «Войти» на мой сервер отправляется запрос graphql, который отвечает Jwt.После получения jwt приложение устанавливает cookie с
document.cookie = ...
. В моем тесте Cypress я проверяю токен следующим образом:
Then("sa session s'ouvre pour {SessionDurationType}", expectedDuration => {
cy.get('@graphql').then(() => {
cy.wait(1000)
cy.getCookie('token').then(cookie => {
const tokenDuration = getTokenDuration(cookie.value)
expect(tokenDuration.asSeconds()).to.equal(expectedDuration.asSeconds())
})
})
})
С cy.get('@graphql')
, яЯ жду, пока запрос graphql вернет ответ.Псевдоним определяется следующим образом:
cy.stub(win, 'fetch', fetch).as('graphql')
При получении приложение устанавливает cookie.
Моя проблема в том, что мне не нравится следующий вызов:
cy.wait(1000)
Без этого вызова я всегда получаю неопределенный файл cookie.
Есть ли способ получить этот файл cookie через какое-то время, которое может быть намного меньше 1000 мс?Я попробовал много вещей без успеха ...