¿Cómo puedo comparar dos fechas en Cypress sin que se modifiquen?
let today = new Date(); let dateDisplayed = "22.07.2022".split('.'); let dateToCompare = new Date( +dateDisplayed[2], +dateDisplayed[1] - 1, +dateDisplayed[0] ); let firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1); expect(dateToCompare).greaterThan(firstDayOfMonth);Cuando ejecuto las pruebas obtengo el siguiente resultado.

¿La función 'esperar' modifica mis valores de fecha? Parece que ambos valores disminuyen un día. ¿Cómo supero este problema?
¡Gracias por tu ayuda!
No se modifican tanto como se traducen de su zona horaria (hora de verano de Europa Central, ¿verdad?) a GMT. Tu medianoche es a las 10 p. m. en Greenwich.
Teniendo en cuenta que sucedió en ambas fechas, no cambia el resultado de la comparación.
Si, sin embargo, le molesta, existe la función de clock de Cypress para influir en cómo maneja, entre otras cosas, los objetos de fecha.
Puede usar la biblioteca day.js para esto. Para la afirmación, puede aplicar isAfter para comparar ambas fechas como se muestra a continuación:
const dayjs = require('dayjs') describe('test suite', () => { it('Test', () => { let dateDisplayed = '22.07.2022'.split('.') let dateToCompare = dateDisplayed[2] + '-' + (+dateDisplayed[1] - 1).toString() + '-' + dateDisplayed[0] let firstDayOfMonth = dayjs().startOf('month') //2022-07-01T00:00:00+03:00 const result = firstDayOfMonth.isAfter(dayjs(dateToCompare)) cy.then(() => { expect(result).to.eq(true) }) }) })