Actualmente estoy probando nuestra aplicación web con cypress, y tengo un problema particular con el estado de redux que se borra entre cy.visits. Estoy usando ciprés 8.6.0. Estamos usando React con react-redux.
Código actual en mi prueba:
const state = { some: thing } // a normal object with key-value pairs cy.visit('/B').then(() => { cy.window() .its('store') .then(store => { store.dispatch({ type: 'SET_ORDER', payload: state, }); }); });El problema con esto es que a veces, la ruta /B se carga antes de que ocurra el evento Disptach, y la prueba falla porque /B depende de que algún estado esté en mi tienda redux para funcionar.
así que pensé que algo como esto podría funcionar:
const state = { some: thing } // a normal object with key-value pairs cy.visit('/A').then(() => { cy.window() .its('store') .then(store => { store.dispatch({ type: 'SET_ORDER', payload: state, }); }); }) cy.visit('/B'); // redux state gets cleared before going to /BPero no funciona ya que Cypress borra todo el estado entre pruebas (¿pero también entre cy.visits en la misma prueba it()?).
¿Hay alguna forma en que pueda conservar mi estado redux durante mi prueba? ¿O al menos solo cuando se pasa de /A a /B?