Skip to content

test: add system tests tags#29759

Merged
pnarayanaswamy merged 6 commits into
mainfrom
system-test-tags
May 6, 2026
Merged

test: add system tests tags#29759
pnarayanaswamy merged 6 commits into
mainfrom
system-test-tags

Conversation

@pnarayanaswamy
Copy link
Copy Markdown
Contributor

@pnarayanaswamy pnarayanaswamy commented May 5, 2026

Description

Changelog

CHANGELOG entry:

Related issues

Fixes:

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

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

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

Low Risk
Low risk: changes are confined to Playwright test tagging/configuration and documentation, primarily affecting which tests are selected by --grep and CI scripts.

Overview
Introduces test-type tags @Performance and @System (in tests/tags.performance.js) and updates performance specs to include these tags in test.describe() names so Playwright configs can filter suites via grep.

Adds new package.json scripts to run system tests on local Android emulators and iOS simulators using tests/playwright.system-emulator.config.ts, and updates MM Connect and other performance/system specs to be grouped under the new tagging convention. Documentation in tests/performance/README.md is expanded to explain the new tag types, conventions, and examples.

Reviewed by Cursor Bugbot for commit 28088c1. Bugbot is set up for automated code reviews on this repo. Configure here.

@pnarayanaswamy pnarayanaswamy requested review from a team as code owners May 5, 2026 19:15
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

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.

@metamaskbotv2 metamaskbotv2 Bot added the team-qa QA team label May 5, 2026
@pnarayanaswamy pnarayanaswamy added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label May 6, 2026
Comment thread tests/performance/login/perps-add-funds.spec.ts Outdated
@pnarayanaswamy pnarayanaswamy enabled auto-merge May 6, 2026 09:10
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

🔍 Smart E2E Test Selection

  • Selected E2E tags: None (no tests recommended)
  • Selected Performance tags: @PerformanceLaunch, @PerformanceLogin, @PerformanceOnboarding, @PerformanceAccountList, @PerformanceSwaps, @PerformanceAssetLoading, @PerformancePredict, @PerformancePreps
  • Risk Level: low
  • AI Confidence: 95%
click to see 🤖 AI reasoning details

E2E Test Selection:
All 38 changed files are exclusively within the performance test infrastructure (tests/performance/ directory, tests/playwright*.config.ts, tests/tags.performance.js, and package.json scripts). No app source code was modified.

Key changes:

  1. tests/tags.performance.js: Added two new test-type tags @Performance and @System to complement existing area tags. These are runner-agnostic tags that control which Playwright config picks up a test.
  2. tests/playwright.config.ts: Added grep: /@Performance/ to filter only performance-tagged tests.
  3. tests/playwright.system.config.ts: Added grep: /@System/ to filter only system-tagged tests.
  4. tests/playwright.system-emulator.config.ts: New config file for running system tests on local Android emulators and iOS simulators (instead of BrowserStack).
  5. package.json: Added 4 new npm scripts for emulator/simulator system test execution.
  6. All 30+ performance spec files: Updated to import and embed the new Performance and/or System tags in their test.describe() names — purely structural/tagging changes with no test logic modifications.

Since no Detox-based E2E app code was changed, no Detox E2E test tags are needed. The changes are confined to the Playwright-based performance test framework which is a completely separate test infrastructure from Detox.

Performance Test Selection:
All performance test spec files were modified to add the new @performance and @System tags to their test.describe() names. The new grep filters in playwright.config.ts (@performance) and playwright.system.config.ts (@System) mean tests will only be picked up if they have the correct tags. Running all performance test tags validates that: (1) the new tagging system correctly routes tests to the right config, (2) no tests were accidentally excluded by the new grep filters, and (3) the new emulator config (playwright.system-emulator.config.ts) works correctly. All area tags should be exercised to confirm the structural changes didn't break any test suite.

View GitHub Actions results

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 6, 2026

@pnarayanaswamy pnarayanaswamy added this pull request to the merge queue May 6, 2026
Merged via the queue into main with commit 794a997 May 6, 2026
60 of 62 checks passed
@pnarayanaswamy pnarayanaswamy deleted the system-test-tags branch May 6, 2026 10:52
@github-actions github-actions Bot locked and limited conversation to collaborators May 6, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-7.77.0 Issue or pull request that will be included in release 7.77.0 label May 6, 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.77.0 Issue or pull request that will be included in release 7.77.0 size-XL team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants