Skip to content

feat: migrates browser related POMs to typescript and the new framework#17420

Merged
christopherferreira9 merged 14 commits into
mainfrom
christopher/migrate-browser-tests
Jul 21, 2025
Merged

feat: migrates browser related POMs to typescript and the new framework#17420
christopherferreira9 merged 14 commits into
mainfrom
christopher/migrate-browser-tests

Conversation

@christopherferreira9

@christopherferreira9 christopherferreira9 commented Jul 21, 2025

Copy link
Copy Markdown
Contributor

Description

  • Adds an extra type in one of the assertion class helper
  • Migrates to the new withFixtures helper

🚀 Generic stats:

  • 27 Page object files migrated to ts
  • 23 selectors migrated to ts

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

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.

@christopherferreira9 christopherferreira9 requested a review from a team as a code owner July 21, 2025 15:15
@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@christopherferreira9 christopherferreira9 added No QA Needed Apply this label when your PR does not need any QA effort. Run Smoke E2E labels Jul 21, 2025
@github-actions

github-actions Bot commented Jul 21, 2025

Copy link
Copy Markdown
Contributor

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: cf82732
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/5f60d4a9-55aa-4cef-b494-861487765c4c

Note

  • You can rerun any failed steps by opening the Bitrise build, tapping Rebuild on the upper right then Rebuild unsuccessful Workflows
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@github-actions

github-actions Bot commented Jul 21, 2025

Copy link
Copy Markdown
Contributor

https://bitrise.io/ Bitrise

✅✅✅ pr_smoke_e2e_pipeline passed on Bitrise! ✅✅✅

Commit hash: 58a1ee4
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/83e93446-4816-4072-a005-0e00309c4261

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

cursor[bot]

This comment was marked as outdated.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 73.73%. Comparing base (5184987) to head (58a1ee4).
Report is 12 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #17420      +/-   ##
==========================================
+ Coverage   73.57%   73.73%   +0.16%     
==========================================
  Files        2845     2846       +1     
  Lines       63338    63643     +305     
  Branches    10328    10396      +68     
==========================================
+ Hits        46598    46925     +327     
+ Misses      13741    13691      -50     
- Partials     2999     3027      +28     

☔ 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.

Comment thread e2e/pages/Browser/ConnectBottomSheet.ts

@cmd-ob cmd-ob 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.

Looks great! 🔥

@christopherferreira9 christopherferreira9 added this pull request to the merge queue Jul 21, 2025
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 21, 2025

@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.

Bug: Method Modifies Input Array Unexpectedly

The withPermissionControllerConnectedToMultipleTestDapps method mutates its additionalPermissions input array by directly assigning origin properties to the objects within it. This unexpected side effect violates the principle of not modifying input parameters and can lead to unintended behavior for callers who reuse the original array or its elements.

e2e/framework/fixtures/FixtureBuilder.ts#L843-L855

let allPermissions = {};
for (let i = 0; i < additionalPermissions.length; i++) {
// This needs to be escalated as permissions are given based on the origin and it's impossible to have distinct
// permissions for the same origin.
if (i === 0) {
additionalPermissions[i].origin = DAPP_URL;
} else {
additionalPermissions[i].origin =
device.getPlatform() === 'android' ? '10.0.2.2' : '127.0.0.1';
}
const testDappPermissions = this.createPermissionControllerConfig(
additionalPermissions[i],
additionalPermissions[i].origin as string,

Fix in CursorFix in Web


Bug: Incorrect Assertion in Network Chain Permission Check

The isNetworkChainPermissionNotSelected method contains an incorrect assertion description. It currently states "Network chain permission ${chainName} should be selected" when it should state "should NOT be selected" to accurately reflect that the method checks for a non-selected state. This discrepancy leads to confusing error messages if the assertion fails.

e2e/pages/Browser/NetworkConnectMultiSelector.ts#L39-L47

async isNetworkChainPermissionNotSelected(chainName: string): Promise<void> {
const chainPermissionTestId = `${chainName}-not-selected`;
const el = await Matchers.getElementByID(chainPermissionTestId);
await Assertions.expectElementToBeVisible(el, {
timeout: 10000,
description: `Network chain permission ${chainName} should be selected`,
});
}

Fix in CursorFix in Web


Was this report helpful? Give feedback by reacting with 👍 or 👎

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jul 21, 2025

Copy link
Copy Markdown
Contributor

https://bitrise.io/ Bitrise

✅✅✅ pr_smoke_e2e_pipeline passed on Bitrise! ✅✅✅

Commit hash: 82b20aa
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/9d62fe29-2f31-42eb-ab85-9ca7048e21bb

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

@christopherferreira9 christopherferreira9 added this pull request to the merge queue Jul 21, 2025
Merged via the queue into main with commit 60361c2 Jul 21, 2025
56 of 58 checks passed
@christopherferreira9 christopherferreira9 deleted the christopher/migrate-browser-tests branch July 21, 2025 20:17
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 21, 2025
@metamaskbot metamaskbot added the release-7.53.0 Issue or pull request that will be included in release 7.53.0 label Jul 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

No QA Needed Apply this label when your PR does not need any QA effort. release-7.53.0 Issue or pull request that will be included in release 7.53.0 team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants