Вы можете использовать плагин cypress-localstorage-commands для сохранения localStorage
между тестами.
Вы можете создать команду для входа в систему с указанным c пользователем:
import "cypress-localstorage-commands";
Cypress.Commands.add('loginAs', (UserEmail, UserPwd) => {
cy.request({
method: 'POST',
url: "/login",
body: {
user: {
email: UserEmail,
password: UserPwd,
}
}
})
.its('body')
.then((body) => {
cy.setLocalStorage("accessToken", body.accessToken);
cy.setLocalStorage("refreshToken", body.refreshToken);
});
});
А затем используйте эту команду для входа в систему до начала всех тестов и плагин cypress-localstorage-commands для сохранения localStorage
между тестами:
describe("When user is authenticated", () => {
before(() => {
cy.loginAs("foo@user.com", "foo-password");
});
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
it("should be logged in", () => ...);
});