Несмотря на то, что Cypress импортирует библиотеку моментов, для нее нет встроенных команд, позволяющих создавать цепочки, но вы можете добавить пользовательскую команду, чтобы упростить ее.
Команда toMoment()
должна быть объединена в цепочку предыдущая команда выбора, например cy.get()
или cy.contains()
. Он возвращает объект момента, который вы затем можете использовать invoke для вызова всех методов, которые предоставляет момент, и далее цепочку .should()
для проверки значения, возвращаемого этими методами.
Например,
Spe c
Cypress.Commands.add('toMoment', {prevSubject: true}, (element) => {
return Cypress.moment(element[0].value);
});
it('input tests with moment', () => {
cy.visit('./app/moment-with-input.html');
cy.get('input').toMoment()
.invoke('isValid')
.should('eq', true);
cy.get('input').toMoment()
.invoke('format', 'dddd')
.should('eq', 'Saturday');
cy.get('input').toMoment()
.invoke('diff', Date(2020, 2, 5), 'days')
.should('eq', -391);
})
HTML фрагмент (положить в папку «/ app» проекта)
<input id="date" class="input_date" id="XYZ" type="date" value="2019-01-12" on_input="table()">