请考虑以下测试:
it('after a year it requires the user to login again', () => {
cy.clock();
cy.visit('/login');
cy.get('input[name=email]').type(context.email);
cy.get('input[name=password]').type(`password{enter}`);
cy.get('[data-testid="notebook-name"]').should('contain', 'My first notebook');
const minute = 60 * 1000;
const hour = 60 * minute;
const day = 2 * hour;
const year = 365 * day;
cy.tick(year + day);
cy.visit('/notebook');
cy.getCookies().then(cookies => {
console.log('Cookies: ', cookies);
});
cy.getCookies().should('have.length', 0);
cy.contains('Log in');
});
运行此测试时,我希望我的“令牌” cookie过期,并且不再由cy.getCookies()
返回,但事实并非如此。
让cy.clock / tick和cypress cookie协同工作的最佳方法是什么?