const {
|
|
setTimeZoneOffsetInMinutes,
|
|
expectDate,
|
|
scrollWheel,
|
|
expectDateString,
|
|
setMaximumDate,
|
|
setDate,
|
|
init,
|
|
} = require('../utils');
|
|
|
|
const scrollMinuteWheel = () => scrollWheel(2, 1);
|
|
|
|
// I haven't found a way to change the timezone on the emulator to be able to run these tests.
|
|
// Until possible, run these tests locally when needed with Europe/Stockholm timezone.
|
|
describe.skip('Timezone offset', () => {
|
|
beforeAll(async () => {
|
|
await init();
|
|
await element(by.text('Advanced')).tap();
|
|
});
|
|
|
|
it('undefined (default)', async () => {
|
|
await setTimeZoneOffsetInMinutes(undefined);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-01-01 00:01:00');
|
|
await expectDateString('Sat Jan 11201 AM ');
|
|
});
|
|
|
|
it('0', async () => {
|
|
await setTimeZoneOffsetInMinutes(0);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-01-01 00:01:00');
|
|
await expectDateString('Fri Dec 311101 PM ');
|
|
});
|
|
|
|
it('180', async () => {
|
|
await setTimeZoneOffsetInMinutes(180);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-01-01 00:01:00');
|
|
await expectDateString('Sat Jan 1201 AM ');
|
|
});
|
|
|
|
it('-180', async () => {
|
|
await setTimeZoneOffsetInMinutes(-180);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-01-01 00:01:00');
|
|
await expectDateString('Fri Dec 31801 PM ');
|
|
});
|
|
|
|
describe('daylight saving', () => {
|
|
const firstOfJuly = new Date(2000, 6, 1, 0, 0);
|
|
const firstOfJune = new Date(2000, 5, 1, 0, 0);
|
|
|
|
beforeAll(async () => {
|
|
await setMaximumDate(firstOfJuly);
|
|
await setDate(firstOfJune);
|
|
});
|
|
|
|
it('undefined', async () => {
|
|
await setDate(firstOfJune);
|
|
await setTimeZoneOffsetInMinutes(undefined);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-06-01 00:01:00');
|
|
await expectDateString('Thu Jun 11201 AM ');
|
|
});
|
|
|
|
it('0', async () => {
|
|
await setDate(firstOfJune);
|
|
await setTimeZoneOffsetInMinutes(0);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-06-01 00:01:00');
|
|
await expectDateString('Wed May 311001 PM ');
|
|
});
|
|
|
|
it('180', async () => {
|
|
await setDate(firstOfJune);
|
|
await setTimeZoneOffsetInMinutes(180);
|
|
await scrollMinuteWheel();
|
|
await expectDate('2000-06-01 00:01:00');
|
|
await expectDateString('Thu Jun 1101 AM ');
|
|
});
|
|
});
|
|
});
|