借助Cypress.io,如何使时钟和cookie一起工作?

时间:2018-11-26 16:01:17

标签: javascript testing cypress

请考虑以下测试:

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协同工作的最佳方法是什么?

0 个答案:

没有答案