Estoy tratando de escribir una función en Cypress, donde recorre todas las columnas para mi fecha de inicio (#EventStart) y se asegura de que las fechas de inicio sean la fecha actual de hoy o anterior. Entonces, por ejemplo, necesito esta prueba para asegurarme de que confirme que todas las fechas enumeradas son la fecha de hoy (4 de abril) o anterior (3, 2, 1 de abril, etc., etc.). Hasta ahora puedo hacer que confirme la fecha de hoy, pero ¿cómo puedo agregar a la función para que también busque los días anteriores a hoy? Además, por la forma en que está escrito, me está dando la hora GMT, ¿cómo puedo hacer que muestre CST?
EDITAR: Así es como se muestra la fecha: 4 de abril de 2022, 1:00 p. m.
public assertOldDate () { cy.get("#EventStart).each((el) => { let oldDate = new Date(); oldDate.setDate(oldDate.getDate()) cy.get("el").should("equal", oldDate); } }Usando dayjs para analizar el texto del elemento,
import dayjs from 'dayjs' const today = dayjs() cy.get('[id*="EventStart"]') .each($eventStart => { const dateText = $eventStart.text() Cypress.log({message: `Testing ${dateText}`}) // log as per web page const formatted = dateText.split(', ').slice(0,2).join(' ') // remove commas & time const date = dayjs(formatted, 'MMMM DD YYYY') // parse the text expect(date <= today).to.eq(true) }) Tenga en cuenta que cambió el selector de identificación a [id*="EventStart"] ya que se espera que las identificaciones sean únicas. Usar #EventStart parece bloquear la iteración.