REF: rewrite e2e suite#103
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors the Detox end-to-end (E2E) suite by removing legacy “shroud” specs and introducing a smaller set of focused onboarding/navigation specs. It also updates app/runtime hooks and CI/Detox configuration to support the new suite (including an E2E-only backdoor for skipping seed verification).
Changes:
- Replaced the legacy
shroud*.spec.jsE2E suites with new targeted specs (onboarding, persistence, optional mnemonic import, receive/send/settings navigation). - Added an E2E launch-arg check (
detoxE2E) and gated a “skip seed verify” backdoor behind it. - Updated Detox/CI wiring (Detox workspace/scheme, Android Detox dependency wiring, workflow env + emulator config).
Reviewed changes
Copilot reviewed 20 out of 21 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/setup.js | Mocks react-native-launch-arguments for Jest to prevent native-module failures in unit tests. |
| tests/e2e/helperz.js | Introduces launchAppForE2E and simplifies wallet create/import helpers for the new suite. |
| tests/e2e/01-onboarding.spec.js | New onboarding E2E spec. |
| tests/e2e/02-wallet-persists.spec.js | New wallet persistence across relaunch spec. |
| tests/e2e/03-wallet-import.spec.js | New optional mnemonic import spec (skips if MNEMONIC_TEST not set). |
| tests/e2e/04-receive.spec.js | New receive screen navigation spec. |
| tests/e2e/05-send.spec.js | New send screen navigation spec. |
| tests/e2e/06-settings.spec.js | New settings navigation spec. |
| tests/e2e/shroud.spec.js | Removed legacy E2E suite. |
| tests/e2e/shroud2.spec.js | Removed legacy E2E suite. |
| tests/e2e/shroud3.spec.js | Removed legacy E2E suite. |
| screen/wallets/PleaseBackup.tsx | Adds E2E-only “SkipVerifyBackdoor” gated by isE2E(). |
| screen/wallets/OnboardingScreen.tsx | Adds testID="CreateWallet" for the E2E helper to tap. |
| helpers/e2e.ts | Adds isE2E() based on react-native-launch-arguments. |
| package.json | Adds react-native-launch-arguments dependency. |
| package-lock.json | Locks react-native-launch-arguments dependency. |
| android/app/build.gradle | Updates Detox Android test dependency to local project + adds missing dimension strategy. |
| .github/workflows/unit-test.yml | Removes HD_MNEMONIC_BIP84 from unit-test workflow env. |
| .github/workflows/integration-test.yml | Removes HD_MNEMONIC_BIP84 from integration-test workflow env. |
| .github/workflows/e2e-test.yml | Renames workflow, updates env (MNEMONIC_TEST), emulator config, and detox invocation flags. |
| .detoxrc.json | Updates iOS workspace/scheme and Android AVD name. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
39c8cf9 to
a2cdc81
Compare
a2cdc81 to
fca1ed3
Compare
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fca1ed3 to
31700e5
Compare
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31700e5 to
5a76566
Compare
- Resolve modify/delete conflict: keep shroud.spec.js deleted (superseded by new specs) - Drop Language step from 06-settings.spec.js (screen removed upstream) - Fix SkipVerifyBackdoor opacity 0 → 0.01 so iOS XCUITest hittability check passes
| avd-name: Pixel_API_29_AOSP | ||
| force-avd-creation: false | ||
| avd-name: Pixel_API_31 | ||
| force-avd-creation: true |
There was a problem hiding this comment.
this will create a fresh avd on every run instead of reusing the cached ones, which will increase ci execution time and consume more ci credits.
There was a problem hiding this comment.
there is no cached avd to reuse since runner is ephemeral here.
coverage gaps (by priority)
|
1073539 to
7541eba
Compare
00b28e1 to
51df7fb
Compare
51df7fb to
3390357
Compare
|
what do you think about commenting out the Build Release test(for now, until, it's fixed)? @theanmolsharma |

This PR revamps e2e test suite by removing irrelevant tests and adding new ones, as part of refactor.
New specs :
MNEMONIC_TESTisn't set)Fixes:
.detoxrc.jsonstill pointed atBlueWallet.xcworkspace. Updated to the Shroud workspace + scheme.ci.ymlrenamed toe2e-test.yml.HD_MNEMONIC_BIP84env var dropped across three workflows.SkipVerifyBackdoorinPleaseBackupgated on a Detox launch arg so only the test runner can set it.