Сравните функцию datetime кипарис - PullRequest
1 голос
/ 21 марта 2019

У меня есть форма, в которой пользователю разрешено вводить диапазон дат, и результаты будут иметь результаты только для этой конкретной даты.

Я могу ввести дату в форму, используя функцию .type (). Однако я не уверен, как проверить, находятся ли результаты в указанном диапазоне.

Например, если введенная дата ('17 / 03/2019 '), я смогу проверить, находятся ли результаты в таблице в пределах диапазона, используя код, подобный этому,

cy.get('.table')
  .should('not.contain','18/03/2019') // This is wrong 

Я хочу сравнить и посмотреть, получены ли результаты только между 17/03/2019, 00:00:00 и 17/03/2019 11:59:59.

Доступна ли эта функция в Cypress? Может кто-нибудь помочь, пожалуйста?

Спасибо, Indhu.

1 Ответ

1 голос
/ 21 марта 2019

Просто чтобы все были в курсе, что решение пришло на Cypress Gitter channel .На вопрос изначально ответил г-н.Глеб Бахмутов

Эта проверка может быть обработана Cypress.moment , где moment.js библиотека имеет методы анализа и сравнения по дате / времени.

// the time in the element should be between 3pm and 5pm
const start = Cypress.moment('3:00 PM', 'LT')
const end = Cypress.moment('5:00 PM', 'LT')

cy.get('.utility-moment .badge')
  .should(($el) => {
    // parse American time like "3:38 PM"
    const m = Cypress.moment($el.text().trim(), 'LT')

    // display hours + minutes + AM|PM
    const f = 'h:mm A'

    expect(m.isBetween(start, end),
      `${m.format(f)} should be between ${start.format(f)} and ${end.format(f)}`).to.be.true
  })

Добавление соответствующего документа: https://github.com/cypress-io/cypress-example-kitchensink/pull/225

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...