| @ -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 ') | |||||
| }) | |||||
| }) | |||||
| }) | |||||