Skip to content

test: Migrate page objects to the new framework (Login)#27434

Merged
cortisiko merged 9 commits into
mainfrom
MMQA-1563
Mar 12, 2026
Merged

test: Migrate page objects to the new framework (Login)#27434
cortisiko merged 9 commits into
mainfrom
MMQA-1563

Conversation

@cortisiko

@cortisiko cortisiko commented Mar 12, 2026

Copy link
Copy Markdown
Member

Description

Refactors multiple e2e page objects and flows to use the new framework-agnostic element/gesture layer (EncapsulatedElementType, UnifiedGestures, encapsulatedAction) so the same objects work under both Detox and Appium/Playwright.

Adds/adjusts selector plumbing to support this migration, including new localized selector text in NetworkEducationModal/WalletActionsBottomSheet test IDs, swipe option passthrough (speed, percentage) in UnifiedGestureOptions, and new swap/bridge performance-test helpers in QuoteView (token testId derivation, quote-visible assertion text, and network→chainId mapping).

Changelog

CHANGELOG entry:

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/MMQA-1563

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Refactors a wide set of e2e page objects and selectors to a new cross-framework abstraction, which can cause broad test failures if any locator mapping is wrong. App runtime behavior is largely unchanged aside from adding a few testIDs used by automation.

Overview
Updates e2e automation to use the framework-agnostic EncapsulatedElementType/UnifiedGestures/encapsulatedAction APIs across login, wallet, perps, networks, and swap/bridge page objects, including replacing direct Detox elements with dual Detox+Appium/Playwright locators.

Extends selector plumbing to support the migration: adds new localized selector text constants, passes through swipe options (speed, percentage) in unified gesture options, and adds swap/bridge helpers (fee-disclaimer testID, token testId derivation, network→chainId mapping, and quote-visibility assertions) to stabilize performance and deeplink tests.

Written by Cursor Bugbot for commit e474ab6. This will update automatically on new commits. Configure here.

@cortisiko cortisiko requested a review from a team as a code owner March 12, 2026 14:50
@metamaskbot metamaskbot added the team-qa QA team label Mar 12, 2026
@cortisiko cortisiko added no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed skip-smart-e2e-selection Skip Smart E2E selection, i.e. select all E2E tests to run and removed size-L labels Mar 12, 2026
Comment thread tests/page-objects/wallet/TokenOverview.ts
Comment thread tests/page-objects/Network/NetworkEducationModal.ts
Comment thread tests/page-objects/wallet/AccountListBottomSheet.ts
Comment thread tests/page-objects/wallet/LoginView.ts
@cortisiko cortisiko requested a review from a team as a code owner March 12, 2026 17:48
Comment thread tests/page-objects/swaps/QuoteView.ts Outdated
@github-actions github-actions Bot added size-XL and removed size-L labels Mar 12, 2026
Comment thread tests/page-objects/Perps/PerpsMarketDetailsView.ts Outdated

@christopherferreira9 christopherferreira9 left a comment

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.

LGTM!

Comment thread tests/page-objects/wallet/TabBarComponent.ts Outdated
Comment thread tests/page-objects/wallet/TokenOverview.ts
@cortisiko cortisiko requested a review from a team as a code owner March 12, 2026 21:07
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - skip-smart-e2e-selection label found

All E2E tests pre-selected.

View GitHub Actions results

@christopherferreira9 christopherferreira9 left a comment

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.

nice nice nice!

@cursor cursor Bot left a comment

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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Comment thread tests/page-objects/wallet/WalletView.ts
@cortisiko cortisiko enabled auto-merge March 12, 2026 21:27
@github-actions

Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
17 value mismatches detected (expected — fixture represents an existing user).
View details

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.97%. Comparing base (6b4798f) to head (e474ab6).
⚠️ Report is 22 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #27434      +/-   ##
==========================================
- Coverage   81.97%   81.97%   -0.01%     
==========================================
  Files        4699     4732      +33     
  Lines      122881   123106     +225     
  Branches    27126    27187      +61     
==========================================
+ Hits       100737   100920     +183     
- Misses      15167    15203      +36     
- Partials     6977     6983       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sonarqubecloud

Copy link
Copy Markdown

@cortisiko cortisiko added this pull request to the merge queue Mar 12, 2026
Merged via the queue into main with commit afdab7b Mar 12, 2026
113 of 114 checks passed
@cortisiko cortisiko deleted the MMQA-1563 branch March 12, 2026 22:37
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 12, 2026
@metamaskbot metamaskbot added the release-7.71.0 Issue or pull request that will be included in release 7.71.0 label Mar 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-7.71.0 Issue or pull request that will be included in release 7.71.0 size-XL skip-smart-e2e-selection Skip Smart E2E selection, i.e. select all E2E tests to run team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants