Skip to content

Commit b052d5a

Browse files
committed
test: strengthen RC E2E quality gates
1 parent 8da8d42 commit b052d5a

11 files changed

Lines changed: 145 additions & 312 deletions

File tree

.github/workflows/e2e.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,14 @@ jobs:
397397
scripts/ci/update-e2e-comment.sh "${{ inputs.android_comment_id }}" "Android" "running" "Running native Maestro flows"
398398
yarn test:e2e:android
399399
400+
- name: Run Android GPS-offline E2E
401+
env:
402+
GH_TOKEN: ${{ github.token }}
403+
REQUESTED_BY: ${{ inputs.requested_by }}
404+
run: |
405+
scripts/ci/update-e2e-comment.sh "${{ inputs.android_comment_id }}" "Android" "running" "Running GPS-offline flow"
406+
yarn workspace react-native-nitro-geolocation-example test:e2e:gps-offline:android
407+
400408
- name: Run Android web E2E
401409
env:
402410
GH_TOKEN: ${{ github.token }}
@@ -405,6 +413,14 @@ jobs:
405413
scripts/ci/update-e2e-comment.sh "${{ inputs.android_comment_id }}" "Android" "running" "Running web fallback flows"
406414
yarn test:e2e:web:android
407415
416+
- name: Run Android no-Headless-JS regression E2E
417+
env:
418+
GH_TOKEN: ${{ github.token }}
419+
REQUESTED_BY: ${{ inputs.requested_by }}
420+
run: |
421+
scripts/ci/update-e2e-comment.sh "${{ inputs.android_comment_id }}" "Android" "running" "Running no-Headless-JS regression flow"
422+
yarn workspace react-native-nitro-geolocation-example test:e2e:issue-132:android
423+
408424
- name: Stop Android emulator
409425
if: always()
410426
run: |

examples/v0.81.1/.maestro/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,12 @@ yarn test:e2e:android
7373

7474
`test:e2e:ios` runs `.maestro/all-tests.yaml` with the iOS platform flag.
7575
`test:e2e:android` runs the same master flow with the Android platform flag,
76-
then runs `provider-settings-not-ready.yaml` after disabling Android location
77-
services, verifies the GPS recipe's not-ready edge case, and restores the
78-
device state afterward. Set
76+
then runs the device-state-dependent provider watcher, unified background
77+
event, disabled-service, and stale-readiness contracts before restoring the
78+
device state. The repository E2E workflow additionally runs the isolated
79+
Android GPS-offline suite and the #132 no-Headless-JS regression suite; these
80+
are kept outside `all-tests.yaml` because they respectively disable network
81+
access and install an alternate release bundle. Set
7982
`RUN_ANDROID_PROVIDER_SELECTION=1` on a physical Android device to include the
8083
live provider-selection proof. The wrapper rejects emulators for this proof and
8184
requires `ANDROID_SERIAL` when multiple Android devices are connected.

examples/v0.81.1/.maestro/all-tests.yaml

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,14 @@ appId: nitrogeolocation.example
99
when:
1010
platform: Android
1111
file: issue-119-android.yaml
12-
- runFlow:
13-
when:
14-
platform: Android
15-
file: issue-120-android.yaml
1612
- runFlow:
1713
when:
1814
platform: Android
1915
file: issue-121-android.yaml
20-
- runFlow:
21-
when:
22-
platform: Android
23-
file: issue-122-android.yaml
24-
- runFlow:
25-
when:
26-
platform: iOS
27-
file: issue-119-ios.yaml
2816
- runFlow:
2917
when:
3018
platform: iOS
3119
file: issue-120-ios.yaml
32-
- runFlow:
33-
when:
34-
platform: iOS
35-
file: issue-121-ios.yaml
3620
- runFlow:
3721
when:
3822
platform: iOS
@@ -41,6 +25,7 @@ appId: nitrogeolocation.example
4125
- runFlow: consumer-location-contract-happy.yaml
4226
- runFlow: consumer-location-contract-denied.yaml
4327
- runFlow: permission-details.yaml
28+
- runFlow: location-readiness.yaml
4429
- runFlow:
4530
when:
4631
platform: Android

examples/v0.81.1/.maestro/background-e2e.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,28 @@ appId: nitrogeolocation.example
5353
- assertVisible:
5454
id: "background-e2e-status"
5555

56+
- tapOn:
57+
id: "e2e-action-background-e2e-permission-button"
58+
- extendedWaitUntil:
59+
visible: "Permission: passed"
60+
timeout: 15000
61+
- assertVisible:
62+
text: ".*foreground=granted, background=granted.*"
63+
5664
- tapOn:
5765
id: "e2e-action-background-e2e-invalid-config-button"
5866
- extendedWaitUntil:
5967
visible: "Missing notification: passed"
6068
timeout: 10000
69+
- assertVisible:
70+
text: ".*requires android.foregroundService notification options.*|Android-only validation skipped on iOS"
6171
- tapOn:
6272
id: "e2e-action-background-e2e-configure-button"
6373
- extendedWaitUntil:
6474
visible: "Configure: passed"
6575
timeout: 10000
76+
- assertVisible:
77+
text: ".*Native configuration round-trip preserved common and platform options.*"
6678
- tapOn:
6779
id: "e2e-action-background-e2e-start-stop-button"
6880
- extendedWaitUntil:

examples/v0.81.1/.maestro/issue-119-ios.yaml

Lines changed: 0 additions & 55 deletions
This file was deleted.

examples/v0.81.1/.maestro/issue-120-android.yaml

Lines changed: 0 additions & 55 deletions
This file was deleted.

examples/v0.81.1/.maestro/issue-121-ios.yaml

Lines changed: 0 additions & 55 deletions
This file was deleted.

examples/v0.81.1/.maestro/issue-122-android.yaml

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)