Estoy escribiendo un caso de prueba de Cypress en el que tengo que cargar un archivo. Una vez que se completa la carga, la interfaz de usuario se actualiza para mostrar el tiempo de carga. Debo afirmar que el tiempo de carga del archivo registrado es correcto. Así que capturé la fecha y hora que se muestra. Fue Oct. 5, 2021, 3:29 am . m. Además, una vez que se completa la carga, puedo obtener la hora actual en el caso de prueba con, por ejemplo, new Date() . Mi duda es como comparo estos dos?
La fecha y hora capturada de la interfaz de usuario es una cadena, por lo que debe analizarla en una fecha para compararla.
Por ejemplo, usando dayjs
Dado que la cadena tiene un formato ligeramente no estándar, puede proporcionar una cadena de formato para el análisis.
Lo único que necesita trabajo adicional es eliminar los puntos en am
const dateString = 'Oct. 5, 2021, 12:31 am' .replace('am', 'am') .replace('pm', 'pm') const uploadDate = dayjs(dateString, 'MMM. DD, YYYY, HH:MM a') // parse const now = dayjs() expect(uploadDate.isSame(now, 'minute')).to.eq(true) // uploaded in last minute // or const diffMinutes = now.minute() - uploadDate.minute() expect(diffMinutes).to.be.lte(1)