Skip to content

REF: rewrite e2e suite#103

Open
chaitika wants to merge 13 commits into
CypherCommons:masterfrom
chaitika:rewrite-e2e-suite
Open

REF: rewrite e2e suite#103
chaitika wants to merge 13 commits into
CypherCommons:masterfrom
chaitika:rewrite-e2e-suite

Conversation

@chaitika
Copy link
Copy Markdown
Contributor

This PR revamps e2e test suite by removing irrelevant tests and adding new ones, as part of refactor.

New specs :

  • Onboarding
  • Wallet persists across an app restart
  • Import from a known mnemonic (skipped if MNEMONIC_TEST isn't set)
  • Receive screen opens
  • Send screen opens
  • Settings entries (Currency, Language, About)

Fixes:

  • .detoxrc.json still pointed at BlueWallet.xcworkspace. Updated to the Shroud workspace + scheme.
  • Android Detox dependency used stale Maven coords. Switched to the local project per Detox v20.
  • ci.yml renamed to e2e-test.yml.
  • Stale HD_MNEMONIC_BIP84 env var dropped across three workflows.
  • SkipVerifyBackdoor in PleaseBackup gated on a Detox launch arg so only the test runner can set it.

Copilot AI review requested due to automatic review settings May 14, 2026 17:38
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.js E2E 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.

Comment thread screen/wallets/PleaseBackup.tsx
Comment thread .github/workflows/unit-test.yml
@chaitika chaitika force-pushed the rewrite-e2e-suite branch from 39c8cf9 to a2cdc81 Compare May 14, 2026 18:04
Copilot AI review requested due to automatic review settings May 15, 2026 05:19
@chaitika chaitika force-pushed the rewrite-e2e-suite branch from a2cdc81 to fca1ed3 Compare May 15, 2026 05:19
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 2 comments.

Comment thread screen/wallets/PleaseBackup.tsx
Comment thread screen/wallets/PleaseBackup.tsx
chaitika and others added 7 commits May 15, 2026 11:38
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>
@chaitika chaitika force-pushed the rewrite-e2e-suite branch from fca1ed3 to 31700e5 Compare May 15, 2026 06:09
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@chaitika chaitika force-pushed the rewrite-e2e-suite branch from 31700e5 to 5a76566 Compare May 15, 2026 07:58
@chaitika chaitika mentioned this pull request May 15, 2026
- 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
Copilot AI review requested due to automatic review settings May 19, 2026 05:52
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 5 comments.

Comment thread screen/wallets/PleaseBackup.tsx
Comment thread tests/e2e/helperz.js
Comment thread tests/e2e/helperz.js
Comment thread android/app/build.gradle
Comment thread android/app/build.gradle
avd-name: Pixel_API_29_AOSP
force-avd-creation: false
avd-name: Pixel_API_31
force-avd-creation: true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is no cached avd to reuse since runner is ephemeral here.

@notTanveer
Copy link
Copy Markdown
Contributor

one test appears to be getting skipped, possibly because MNEMONIC_TEST is not configured in the repository’s github actions secrets/environment.

image

@notTanveer
Copy link
Copy Markdown
Contributor

coverage gaps (by priority)

  1. TrackPayment
    TrackPaymentBanner is on the home screen and navigates to the core SP wallet scan flow
    (TrackPayment → PaymentFound / NoPaymentFound). Every testID is already wired:
    TrackPaymentBanner, TrackPaymentTxidInput, CheckTransactionButton, PasteButton, DoneButton. This
    is the highest-priority gap given it's the wallet's main differentiator.

  2. Receive screen — navigation verified, screen itself unasserted
    04-receive.spec.js confirms ReceiveDetailsScrollView is visible but stops there. The screen has
    CopyTextToClipboard and the SP/address tab switcher. No assertion that an address is rendered or
    copyable.

  3. Send form validation
    05-send.spec.js lands on the send screen but makes zero assertions about the form. The
    AddressInput and fee picker (feeCustom, feeCustomContainerButton) are all testID'd. Worth at
    least an invalid-address case that stays on the screen.

@chaitika chaitika force-pushed the rewrite-e2e-suite branch from 1073539 to 7541eba Compare May 27, 2026 06:26
Copilot AI review requested due to automatic review settings May 27, 2026 07:27
@chaitika chaitika force-pushed the rewrite-e2e-suite branch from 00b28e1 to 51df7fb Compare May 27, 2026 08:28
@chaitika chaitika force-pushed the rewrite-e2e-suite branch from 51df7fb to 3390357 Compare May 27, 2026 09:01
@notTanveer
Copy link
Copy Markdown
Contributor

what do you think about commenting out the Build Release test(for now, until, it's fixed)? @theanmolsharma

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants