You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

57 lines
1.5 KiB

const {
scrollWheel,
expectDate,
setDate,
setMode,
setMaximumDate,
setMinimumDate,
init,
} = require('../utils');
const scrollDays = days => scrollWheel(1, days);
describe('Invalid dates', () => {
beforeAll(async () => {
await init();
await element(by.text('Advanced')).tap();
await setMinimumDate(undefined);
await setMaximumDate(undefined);
await setMode('date');
});
it('scrolls back to last valid date', async () => {
await setDate(new Date('2001-02-28 00:00'));
await scrollDays(1);
await expectDate('2001-02-28 00:00:00');
});
it('scrolls back after scrolling multiple dates', async () => {
await setDate(new Date('2001-02-27 00:00'));
await scrollDays(2);
await expectDate('2001-02-28 00:00:00');
});
it('not scrolling back on unusual valid dates', async () => {
await setDate(new Date('2000-02-28 00:00'));
await scrollDays(1);
await expectDate('2000-02-29 00:00:00');
});
it('not scrolling back after scrolling past invalid dates', async () => {
await setDate(new Date('2001-02-28 00:00'));
await scrollDays(4);
await expectDate('2001-02-01 00:00:00');
});
it('works on months with 30 days', async () => {
await setDate(new Date('2001-04-30 00:00'));
await scrollDays(1);
await expectDate('2001-04-30 00:00:00');
});
it('works on months with 31 days', async () => {
await setDate(new Date('2001-05-30 00:00'));
await scrollDays(1);
await expectDate('2001-05-31 00:00:00');
});
});