| @ -0,0 +1,120 @@ | |||
| appId: com.rn069 | |||
| --- | |||
| - runFlow: | |||
| file: utils/set-timezone.yml | |||
| env: | |||
| TIMEZONE: Sweden | |||
| GMT: GMT+01:00 | |||
| - runFlow: utils/launch.yml | |||
| # test: timezone offset with undefined | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-01-01 00:01:00' | |||
| - assertVisible: 'Sat Jan 11201 AM ' | |||
| - runFlow: utils/reset.yml | |||
| # test: timezone offset with 0 | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: timeZoneOffsetInMinutes | |||
| VALUE: 0 | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-01-01 00:01:00' | |||
| - assertVisible: 'Fri Dec 311101 PM ' | |||
| - runFlow: utils/reset.yml | |||
| # test: timezone offset with 180 | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: timeZoneOffsetInMinutes | |||
| VALUE: 180 | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-01-01 00:01:00' | |||
| - assertVisible: 'Sat Jan 1201 AM ' | |||
| - runFlow: utils/reset.yml | |||
| # test: timezone offset with -180 | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: timeZoneOffsetInMinutes | |||
| VALUE: -180 | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-01-01 00:01:00' | |||
| - assertVisible: 'Fri Dec 31801 PM ' | |||
| ########## describe: DAYLIGHT SAVING | |||
| - runFlow: | |||
| file: utils/set-timezone.yml | |||
| env: | |||
| TIMEZONE: Sweden | |||
| GMT: GMT+02:00 | |||
| - runFlow: utils/launch.yml | |||
| # test: timezone offset undefined | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: maximumDate | |||
| VALUE: '2000-07-01T00:00:00' | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: date | |||
| VALUE: '2000-06-01T00:00:00+02:00' | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-06-01 00:01:00' | |||
| - assertVisible: 'Thu Jun 11201 AM ' | |||
| - runFlow: utils/reset.yml | |||
| # # test: timezone offset 0 | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: maximumDate | |||
| VALUE: '2000-07-01T00:00:00' | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: date | |||
| VALUE: '2000-06-01T00:00:00+02:00' | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: timeZoneOffsetInMinutes | |||
| VALUE: 0 | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-06-01 00:01:00' | |||
| - assertVisible: 'Wed May 311001 PM ' | |||
| - runFlow: utils/reset.yml | |||
| # test: timezone offset 180 | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: maximumDate | |||
| VALUE: '2000-07-01T00:00:00' | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: date | |||
| VALUE: '2000-06-01T00:00:00+02:00' | |||
| - runFlow: | |||
| file: utils/change-prop.yml | |||
| env: | |||
| PROP: timeZoneOffsetInMinutes | |||
| VALUE: 180 | |||
| - runFlow: utils/swipe-wheel-3.yml | |||
| - assertVisible: '2000-06-01 00:01:00' | |||
| - assertVisible: 'Thu Jun 1101 AM ' | |||
| - runFlow: utils/reset.yml | |||
| @ -0,0 +1,4 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - tapOn: 'Use network-provided time zone' | |||
| - tapOn: 'Time zone' | |||
| @ -0,0 +1,7 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - scrollUntilVisible: | |||
| element: | |||
| text: 'Settings' | |||
| - tapOn: 'Settings' | |||
| - tapOn: 'Open' | |||
| @ -0,0 +1,4 @@ | |||
| appId: com.rn069 | |||
| --- | |||
| - tapOn: 'Go back' | |||
| - tapOn: Advanced | |||
| @ -0,0 +1,4 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - tapOn: Region | |||
| - inputText: ${TIMEZONE} | |||
| @ -0,0 +1,7 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - tapOn: 'Select UTC offset' | |||
| - scrollUntilVisible: | |||
| element: | |||
| text: ${GMT} | |||
| - tapOn: ${GMT} | |||
| @ -0,0 +1,8 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - runFlow: | |||
| file: set-timezone.yml | |||
| env: | |||
| TIMEZONE: 'United states' | |||
| GMT: ${GMT} | |||
| - tapOn: ${STATE} | |||
| @ -0,0 +1,32 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - launchApp | |||
| - runFlow: | |||
| when: | |||
| visible: 'App info' | |||
| file: goto-settings-from-app-info.yml | |||
| - tapOn: 'Search settings' | |||
| - inputText: 'Date' | |||
| - tapOn: 'Date & time' | |||
| - tapOn: 'Date & time' | |||
| - tapOn: 'Time zone' | |||
| - runFlow: | |||
| when: | |||
| notVisible: 'Select time zone' | |||
| file: disable-network-time-zone.yml | |||
| # on some devices (maestro cloud) "Select UTC offset" is displayed instead of Region | |||
| - runFlow: | |||
| when: | |||
| visible: 'Select UTC offset' | |||
| file: select-utc-offset.yml | |||
| env: | |||
| GMT: ${GMT} | |||
| # on most(?) devices timezone is selected by picking region | |||
| - runFlow: | |||
| when: | |||
| visible: Region | |||
| file: select-region.yml | |||
| env: | |||
| TIMEZONE: ${TIMEZONE} | |||
| @ -0,0 +1,5 @@ | |||
| appId: com.rn069 | |||
| --- | |||
| - swipe: | |||
| start: 63%, 40% | |||
| end: 63%, 35% | |||
| @ -0,0 +1,8 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - runFlow: | |||
| when: | |||
| visible: ${TEXT} | |||
| file: tap.yml | |||
| env: | |||
| TEXT: ${TEXT} | |||
| @ -0,0 +1,3 @@ | |||
| appId: com.android.settings | |||
| --- | |||
| - tapOn: ${TEXT} | |||
| @ -1,82 +0,0 @@ | |||
| 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 '); | |||
| }); | |||
| }); | |||
| }); | |||
| @ -1,81 +0,0 @@ | |||
| const { | |||
| setTimeZoneOffsetInMinutes, | |||
| expectDate, | |||
| scrollWheel, | |||
| expectDateString, | |||
| setMaximumDate, | |||
| setDate, | |||
| } = 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', () => { | |||
| before(async () => { | |||
| await device.reloadReactNative() | |||
| 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) | |||
| before(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 ') | |||
| }) | |||
| }) | |||
| }) | |||