Skip to content

test(e2e): harmonize LWD and LWM test names in Allure (QAA-1434) - #20273

Open
VicAlbr wants to merge 5 commits into
developfrom
feat/QAA-1434
Open

test(e2e): harmonize LWD and LWM test names in Allure (QAA-1434)#20273
VicAlbr wants to merge 5 commits into
developfrom
feat/QAA-1434

Conversation

@VicAlbr

@VicAlbr VicAlbr commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

✅ Checklist

  • npx changeset was attached.
  • Covered by automatic tests. This PR changes test names only — there is no product code to cover. Verified instead by enumerating the suite (playwright test --list): 317 tests / 37 files, zero duplicate-title errors, and XRAY ticket coverage byte-identical to the pre-change baseline (502 references). Mobile declaration count unchanged at 135. Typecheck, oxlint and oxfmt --check clean on all three packages.
  • Impact of the changes:
    • Allure reports on both platforms — every test name changes, so trend history resets once (see Known limitations).
    • Suite / sub-suite grouping in Allure.
    • TMS links: one test that never rendered its ticket now does.
    • No product code touched. No change to what any test actually does.

📝 Description

Problem. LWD and LWM name the same functional test differently — desktop called it [Cosmos] Delegate, mobile called it Delegate on Cosmos. QAs read an Allure report per platform after every CI run, and equivalent tests could not be matched between them, so cross-platform coverage could not be compared and gaps could not be identified reliably.

Solution. Every test on both platforms now follows one convention:

[Currency] - action in sentence case
Case Format Example
Single coin [TICKER] - [ETH] - Add account
Token [TICKER (Chain)] - [USDT (Ethereum)] - Send
Swap pair [FROM-TO] - [BTC-ETH] - Swap max amount
No currency, or 3+ no bracket Change app language to Français

describe / suite titles were aligned in the same pass (Delegate, Send, Swap - accepted, Earn v2, Settings, …).

Supporting change. Currency.testLabel was added in libs/live-e2e-shared/src/enum/Currency.ts. Three tickers are claimed by more than one currency — ETH (Ethereum / Sepolia / Base), USDT and USDC (three chains each) — which produced five genuine title collisions. Playwright hard-fails on duplicate titles; jest does not, so mobile would have silently produced ambiguous Allure rows. The accessor resolves this once ([ETH (Base)], [USDT (Ethereum)]) instead of repeating the logic across ~10 call sites. Titles themselves stay plain template literals.

Also fixed along the way

  • ui.swap.spec.ts was the only swap spec with no teamOwner, so it had no owner, parentSuite or feature label and fell outside the Swap family in Allure.
  • portfolio.spec.ts carried B2CQA-4348 but never called addTmsLink, so the ticket never rendered. Fixed.
  • delegateSEI.spec.ts merged into delegate.spec.ts; [SEI] - Delegate now sits with the other ten under the Delegate suite.
  • Two broken TMS references flagged with // to change: LIVE-19543 (a dev ticket used as a test-case reference) and B2CQA-387-2 (not a valid Jira key).
  • Opaque A1/B2/C5 scenario codes dropped from the swap-deeplink test and step names.

🔍 Known limitations — deliberately out of scope

  • Allure history resets once. historyId derives from the full test name on both platforms, so every renamed test starts a fresh trend line on the first run after merge. Worth warning the QAs before merging.
  • Some brackets differ between platforms because the fixtures genuinely differ — [BTC] vs [INJ] for wallet assets, [ETH-USDC] vs [ETH-USDT] for the 1inch DEX flow. The action text and the XRAY ticket still pair them.
  • B2CQA-3353 / B2CQA-3354 mean opposite scenarios on the two platforms. Pre-existing; left as-is.
  • Unified references and equal visibility (points 3 and 4 of the ticket) are not addressed here — this PR is step 1, naming only. LWM attaches $TmsLink at file level, so a ticket applies to every test in the file, which also makes the 91 LWD-only / 35 LWM-only coverage figures unreliable until that is fixed.

🤖 CI

❓ Context


🧐 Checklist for the PR Reviewers

  • The code aligns with the requirements described in the linked JIRA or GitHub issue.
  • The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
  • There are no undocumented trade-offs, technical debt, or maintainability issues.
  • The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
  • Any new dependencies have been justified and documented.
  • Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

Copilot AI review requested due to automatic review settings July 31, 2026 09:49
@github-actions

Copy link
Copy Markdown
Contributor

Web Tools Build Status

Build Status Deployment
Web Tools Build ⏭️ Skipped
Native Storybook Build ⏭️ Skipped
React Storybook Build ⏭️ Skipped

Copilot AI 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.

Pull request overview

This pull request standardizes E2E test and suite naming across Ledger Wallet Desktop (LWD) and Ledger Wallet Mobile (LWM) to make Allure reports easier to compare cross-platform, and introduces a shared Currency.testLabel helper to avoid title collisions for tickers reused across multiple networks/tokens.

Changes:

  • Harmonize describe and test titles across Desktop (Playwright) and Mobile suites to follow a consistent Allure-friendly naming convention.
  • Add Currency.testLabel to centralize “unique ticker label” logic (e.g., ETH (Base), USDT (Ethereum)), preventing duplicate-title collisions.
  • Small Allure metadata fixes while renaming (e.g., adding missing teamOwner, ensuring TMS links render where expected).

Reviewed changes

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

Show a summary per file
File Description
libs/live-e2e-shared/src/enum/Currency.ts Adds testLabel getter and central label map to keep test titles unique.
e2e/mobile/specs/wallet40Q2/walletAssets.spec.ts Renames Wallet 4.0 assets suite/tests to the new convention using testLabel.
e2e/mobile/specs/wallet40Q2/portfolio.spec.ts Renames Portfolio suite/tests; introduces testLabel usage in relevant titles.
e2e/mobile/specs/wallet40Q2/operationsHistory.spec.ts Renames Operations History suite/tests for consistent Allure grouping.
e2e/mobile/specs/wallet40Q2/myWallet.spec.ts Renames My Wallet suite/tests for consistent Allure grouping.
e2e/mobile/specs/wallet40Q2/mainNavigation.spec.ts Renames navigation suite/tests to align naming across platforms.
e2e/mobile/specs/wallet40Q2/assetDiscoverability.spec.ts Renames asset discoverability suites/tests and adopts testLabel where applicable.
e2e/mobile/specs/wallet40Q2/assetAggregationMarketDetail.spec.ts Renames aggregation/market/detail tests and adds testLabel prefixes.
e2e/mobile/specs/verifyAddress/verifyEmptyAddressTRX.spec.ts Renames receive/verify-address test to the standardized format with testLabel.
e2e/mobile/specs/verifyAddress/verifyAddressWarning.ts Renames verify-address warning runner suite/test to standardized Receive naming.
e2e/mobile/specs/verifyAddress/verifyAddress.ts Renames verify-address runner suite/test to standardized Receive naming.
e2e/mobile/specs/verifyAddress/receiveFlow.spec.ts Renames Receive flow suite/tests for consistent Allure naming.
e2e/mobile/specs/userOpensApplication.spec.ts Renames suite/test title for standardized reporting (suite naming flagged in review).
e2e/mobile/specs/swap/tokenApprovalFlow/swapTokenReapprovalFlow.ts Renames swap reapproval suite/test titles and adds pair-based testLabel prefix.
e2e/mobile/specs/swap/tokenApprovalFlow/swapTokenApprovalFlow.ts Renames swap approval suite/test titles and adds pair-based testLabel prefix.
e2e/mobile/specs/swap/swap.ts Renames “Swap accepted” suite and swaps test title to [FROM-TO] - ….
e2e/mobile/specs/swap/otherTestCases/swapDexNativeFlow.ts Renames DEX native flow suite/test titles using testLabel and provider name.
e2e/mobile/specs/swap/otherTestCases/swapDeeplinks.spec.ts Renames swap deeplinks suite and scenario names for readability.
e2e/mobile/specs/swap/otherTestCases/swap.other.ts Renames multiple swap suites/tests (history, send max, entry points, errors) to match convention.
e2e/mobile/specs/swap/otherTestCases/swap.crossAccount.ts Renames cross-account warning suite/test and adds [FROM-TO] prefix.
e2e/mobile/specs/swap/otherTestCases/swap_noAccountTo.spec.ts Updates scenario title to the standardized phrasing.
e2e/mobile/specs/swap/otherTestCases/swap_noAccountFromAndTo.spec.ts Updates scenario title to the standardized phrasing.
e2e/mobile/specs/swap/otherTestCases/swap_noAccountFrom.spec.ts Updates scenario title to the standardized phrasing.
e2e/mobile/specs/subAccount/subAccount.ts Renames sub-account and token send suites/tests; adopts testLabel in titles.
e2e/mobile/specs/stake/stake.ts Renames Tezos staking suites/tests and adopts testLabel prefixes.
e2e/mobile/specs/settings/settings.ts Consolidates settings-related suite naming and standardizes test titles.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressXRP.spec.ts Standardizes “with tag” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressETH3.spec.ts Standardizes “lower case address” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressETH2.spec.ts Standardizes “existing account” naming and formatting for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressETH_USDT.spec.ts Standardizes “recipient and amount” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressBTC_TAPROOT.spec.ts Standardizes “taproot” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressBTC_SEGWIT.spec.ts Standardizes “segwit” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressBTC_NATIVE_SEGWIT.spec.ts Standardizes “native segwit” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressBTC_LEGACY.spec.ts Standardizes “legacy” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressBCH.spec.ts Standardizes “cash address” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressATOM2.spec.ts Standardizes “without tag” naming for send valid-address case.
e2e/mobile/specs/send/sendValidAddress/sendValidAddressATOM.spec.ts Standardizes “with tag” naming for send valid-address case.
e2e/mobile/specs/send/send.ts Renames send suites/tests (valid/invalid address, invalid amount, max, ENS) using testLabel.
e2e/mobile/specs/send/newSendFlow.ts Renames new send flow suite/test to standardized naming.
e2e/mobile/specs/portfolio/portfolioTabs.spec.ts Renames portfolio tabs suite/tests to standardized titles.
e2e/mobile/specs/portfolio/portfolio.ts Standardizes Portfolio suite and test naming; adopts testLabel where relevant.
e2e/mobile/specs/marketBanner.spec.ts Renames Market banner suite/test and adds testLabel prefix.
e2e/mobile/specs/market.spec.ts Renames Market suite/test and adds testLabel prefix.
e2e/mobile/specs/ledgerSync/ledgerSync.spec.ts Renames Ledger Sync suite/test to standardized naming.
e2e/mobile/specs/languageChange.spec.ts Moves language change under Settings suite naming and standardizes test titles.
e2e/mobile/specs/earn/earnV2.ts Standardizes Earn v2 suite/test naming and adds testLabel prefixes.
e2e/mobile/specs/deposit/deposit.ts Standardizes Deposit suite/test naming with testLabel and scenario details.
e2e/mobile/specs/deleteAccount/deleteAccount.ts Standardizes delete account test title with testLabel.
e2e/mobile/specs/delegate/delegateSEI.spec.ts Standardizes SEI delegation test title with testLabel.
e2e/mobile/specs/delegate/delegate.ts Standardizes delegation/lock/vote suite/test naming and adds testLabel prefixes.
e2e/mobile/specs/deeplinks.spec.ts Renames Deeplinks suite/test titles and adjusts nested suite naming (nested suite naming flagged in review).
e2e/mobile/specs/buySell/buySell.ts Standardizes Buy/Sell suite/test names with testLabel.
e2e/mobile/specs/addAccount/addAccountALEO.spec.ts Standardizes Add account suite/test name with testLabel.
e2e/mobile/specs/addAccount/addAccount.ts Standardizes Add account suite/test naming with testLabel.
e2e/mobile/specs/account/accountRename.spec.ts Standardizes rename account suite/test naming with testLabel.
e2e/desktop/tests/utils/newSendFlowUtils.ts Standardizes desktop “new send flow” grouping and test titles using testLabel.
e2e/desktop/tests/specs/validation.swap.spec.ts Standardizes swap validation suite/test names with testLabel pair prefixes.
e2e/desktop/tests/specs/undelegate.spec.ts Standardizes undelegate suite/test naming with testLabel.
e2e/desktop/tests/specs/ui.swap.spec.ts Adds missing teamOwner and renames swap UI test with testLabel pair prefix.
e2e/desktop/tests/specs/token.reapproval.swap.spec.ts Standardizes token reapproval suite/test naming with testLabel pair prefix.
e2e/desktop/tests/specs/token.approval.swap.spec.ts Standardizes token approval suite/test naming with testLabel pair prefix.
e2e/desktop/tests/specs/subAccount.spec.ts Standardizes sub-account and token send suite/test naming with testLabel.
e2e/desktop/tests/specs/stake.spec.ts Standardizes Tezos staking suite/test naming with testLabel.
e2e/desktop/tests/specs/settings.spec.ts Standardizes Settings suite/test naming with testLabel where relevant.
e2e/desktop/tests/specs/send.tx.spec.ts Standardizes send test grouping and titles; introduces testName for clearer case labels.
e2e/desktop/tests/specs/send.swap.spec.ts Standardizes “Swap accepted” suite/test naming with [FROM-TO] prefix.
e2e/desktop/tests/specs/rename.account.spec.ts Standardizes rename account suite/test naming with testLabel.
e2e/desktop/tests/specs/receive.address.spec.ts Standardizes Receive suite/test naming with testLabel.
e2e/desktop/tests/specs/quickAmount.swap.spec.ts Standardizes swap quick-amount suite/test naming (mix of multi-pair and single-pair titles).
e2e/desktop/tests/specs/provider.swap.spec.ts Standardizes provider flow suite/test titles with testLabel and provider name.
e2e/desktop/tests/specs/portfolio.spec.ts Standardizes Portfolio suite/test naming and ensures TMS links render in Allure.
e2e/desktop/tests/specs/operationsList.spec.ts Renames Operations list suite/test to “Operations history” wording.
e2e/desktop/tests/specs/newSendFlowToken.tx.spec.ts Removes redundant wrapper describe and relies on shared registration utility.
e2e/desktop/tests/specs/newSendFlow.tx.spec.ts Removes redundant wrapper describes and relies on shared registration utility.
e2e/desktop/tests/specs/myWallet.spec.ts Standardizes My Wallet suite naming.
e2e/desktop/tests/specs/marketBanner.spec.ts Standardizes Market banner suite/test naming with testLabel.
e2e/desktop/tests/specs/market.spec.ts Standardizes Market test title with testLabel pair prefix.
e2e/desktop/tests/specs/main.navigation.spec.ts Standardizes Main navigation test titles.
e2e/desktop/tests/specs/ledgerSync.spec.ts Standardizes Ledger Sync suite/test naming.
e2e/desktop/tests/specs/entrypoint.swap.spec.ts Standardizes swap entry points and related suites/tests using testLabel.
e2e/desktop/tests/specs/earn.v2.spec.ts Standardizes Earn v2 suite/test naming and sub-suite structure with testLabel.
e2e/desktop/tests/specs/discreet.swap.spec.ts Standardizes discreet mode swap suite/test titles.
e2e/desktop/tests/specs/delete.account.spec.ts Standardizes delete account suite/test naming with testLabel.
e2e/desktop/tests/specs/delegate.spec.ts Consolidates delegation specs (incl. SEI) and standardizes titles using testLabel.
e2e/desktop/tests/specs/deeplink.swap.spec.ts Standardizes Swap deeplinks suite/test and step naming.
e2e/desktop/tests/specs/crossAccount.warning.swap.spec.ts Standardizes cross-account warning suite/test naming with testLabel pair prefix.
e2e/desktop/tests/specs/buySell.spec.ts Standardizes Buy/Sell suite/test naming with testLabel.
e2e/desktop/tests/specs/borrow.spec.ts Standardizes Borrow suite/test naming with testLabel.
e2e/desktop/tests/specs/assets.discoverability.spec.ts Standardizes asset discoverability suite/test names and adopts testLabel.
e2e/desktop/tests/specs/assets.aggregation.spec.ts Standardizes aggregation/detail/star/address-detail suite/test naming with testLabel.
e2e/desktop/tests/specs/assets.addresses.spec.ts Standardizes wallet assets suite/test naming with testLabel.
e2e/desktop/tests/specs/add.account.spec.ts Standardizes Add account suite/test naming with testLabel.
e2e/desktop/tests/specs/activate.private.balance.spec.ts Standardizes “Activate private balance” suite/test naming with testLabel.
e2e/desktop/tests/specs/accounts.swap.spec.ts Standardizes multiple swap scenarios suite/test naming with [FROM-TO] prefixes.
.changeset/qaa-1434-harmonize-e2e-test-names.md Adds patch changeset entries for the affected E2E packages/shared lib.


setTeamOwner(Team.WALLET_XP);
describe("User opens application", () => {
describe("Settings", () => {
});

(isSmokeTestRun ? describe.skip : describe)("Open modular drawer via deeplinks", () => {
(isSmokeTestRun ? describe.skip : describe)("Deeplinks", () => {
@VicAlbr
VicAlbr marked this pull request as ready for review July 31, 2026 09:56
@VicAlbr
VicAlbr requested a review from a team as a code owner July 31, 2026 09:56
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Rsdoctor Bundle Diff Analysis

Found 7 projects in monorepo, 7 projects with changes.

📊 Quick Summary
Project Total Size Change
desktop-main 2.3 MB -
desktop-preloader 7.1 KB -
desktop-renderer 80.6 MB -
desktop-webviewDappPreloader 36.9 KB -
desktop-webviewPreloader 200.0 B -
desktop-workers 36.8 KB -
mobile 261.3 MB -
📋 Detailed Reports (Click to expand)

📁 desktop-main

Path: rsdoctor/desktop-main/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 2.3 MB - -
📄 JavaScript 2.2 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 135.3 KB - -

📁 desktop-preloader

Path: rsdoctor/desktop-preloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 7.1 KB - -
📄 JavaScript 5.3 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 1.8 KB - -

📁 desktop-renderer

Path: rsdoctor/desktop-renderer/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 80.6 MB - -
📄 JavaScript 29.3 MB - -
🎨 CSS 183.1 KB - -
🌐 HTML 1.8 KB - -
📁 Other Assets 51.2 MB - -

📁 desktop-webviewDappPreloader

Path: rsdoctor/desktop-webviewDappPreloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 36.9 KB - -
📄 JavaScript 36.9 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 desktop-webviewPreloader

Path: rsdoctor/desktop-webviewPreloader/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 200.0 B - -
📄 JavaScript 200.0 B - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 desktop-workers

Path: rsdoctor/desktop-workers/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 36.8 KB - -
📄 JavaScript 36.8 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 mobile

Path: rsdoctor/mobile/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 261.3 MB - -
📄 JavaScript 110.4 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 150.9 MB - -

Generated by Rsdoctor GitHub Action

Copilot AI review requested due to automatic review settings July 31, 2026 10:10
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ E2E tests are required

Changes detected require e2e testing before merge (even before asking for any review).

🖥️ Desktop

-> Run Desktop E2E

  • Select "Run workflow"
  • Branch: feat/QAA-1434
  • Device: nanoSP or stax

📱 Mobile

-> Run Mobile E2E

  • Select "Run workflow"
  • Branch: feat/QAA-1434
  • Device: nanoX

Copilot AI 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.

Pull request overview

Copilot reviewed 98 out of 98 changed files in this pull request and generated no new comments.

Suppressed comments (1)

e2e/mobile/specs/userOpensApplication.spec.ts:10

  • The suite title is "Settings", but this test only exercises the onboarding/get-started flow (app.onboarding.*). This will mis-group the test in Allure and makes the suite name misleading.

@VicAlbr

VicAlbr commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

LWDe2e/desktop/tests/specs/crossAccount.warning.swap.spec.ts L52 · LIVE-19543 used as the TMS reference (4 tests: 1inch / OKX / Uniswap / Velora)

@jeportie or @kentoforik what ticket should be used here ? pls provide a real B2CQA ticket 🙏

@VicAlbr

VicAlbr commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

LWMe2e/mobile/specs/swap/otherTestCases/swap.crossAccount.spec.ts L17 · LIVE-19543 used as the TMS reference (1 test)

@jeportie or @kentoforik what ticket should be used here ? pls provide a real B2CQA ticket 🙏

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)
16 New Code Smells (required ≤ 1)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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.

2 participants