Skip to content

[LWM] fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816) - #21446

Open
PiotrKorzeniowski98 wants to merge 4 commits into
developfrom
LIVE-36816
Open

[LWM] fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816)#21446
PiotrKorzeniowski98 wants to merge 4 commits into
developfrom
LIVE-36816

Conversation

@PiotrKorzeniowski98

Copy link
Copy Markdown
Contributor

Summary

  • LIVE-36720 removed Ledger by Figment as the default pre-selected validator for OSMO in the delegation summary
  • After that change, chosenValidator returns undefined for OSMO (same behavior as persistence/quicksilver), rendering "-" in the UI
  • The E2E test delegateOSMO.spec.ts still expected "Ledger by Figment" to be pre-selected, causing a nightly failure

Fix

Added OSMO to the explicit selectValidator path in delegate.ts, matching the existing MultiversX pattern. The test now selects the validator explicitly before asserting the provider.

Test plan

  • Run [Mobile] - E2E Only nightly on develop — OSMO delegate test (B2CQA-3022) should pass

🤖 Generated with Claude Code

OSMO no longer pre-selects the Ledger by Figment validator (LIVE-36720).
Add explicit selectValidator step for OSMO, matching the MultiversX pattern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 2, 2026 12:09
@PiotrKorzeniowski98
PiotrKorzeniowski98 requested a review from a team as a code owner September 2, 2026 12:09
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
Fails
🚫 header must not be longer than 72 characters, current length is 79

PR title does not follow the repository conventions

Got: fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816)

Expected structure:

  • <type>(<scope>): <description> or
  • <type>(<scope>): <description> (LIVE-XXXX)

Examples:

  • feat(ui): add dark mode toggle (LIVE-1234)
  • fix(swap): resolve transaction signing issue
  • ci(lint): harmonize git guidelines (LIVE-27608)

See Git conventions.

Generated by 🚫 dangerJS against 925ffb4

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Web Tools Build Status

Build Status Deployment
Web Tools 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.

🟢 Approval recommended

The change is small, targeted to the failing E2E scenario, and does not introduce functional risk beyond the test harness adjustment.

Pull request overview

Updates the mobile delegation E2E flow to explicitly select a validator for OSMO now that the previously default pre-selected validator is no longer present, preventing nightly test failures.

Changes:

  • Extend the “explicit selectValidator” path in the delegate E2E helper to include OSMO (in addition to MultiversX).
  • Preserve the existing amount/fees branching while ensuring the provider is set before asserting it.
File summaries
File Description
e2e/mobile/specs/delegate/delegate.ts Ensures OSMO delegation explicitly selects a validator before asserting the provider, aligning with the MultiversX special-case flow.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread e2e/mobile/specs/delegate/delegate.ts Outdated
@PiotrKorzeniowski98

Copy link
Copy Markdown
Contributor Author

CI run triggered:

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 2, 2026 12:22

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.

🟢 Approval recommended

The change is small, targeted to the failing E2E flow, and uses an established Currency instance-comparison pattern already relied on elsewhere in the mobile E2E code.

Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

…geting

Cosmos validator rows had no testID, so selectValidator() could not tap
a specific row by ID after searching. Adds provider-row-{name} testID
consistent with the pattern used in Celo and MultiversX families.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 2, 2026 14:26
@PiotrKorzeniowski98
PiotrKorzeniowski98 requested a review from a team as a code owner September 2, 2026 14:26
@live-github-bot live-github-bot Bot added the mobile Has changes in LLM label Sep 2, 2026
@live-github-bot live-github-bot Bot changed the title fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816) [LWM] fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816) Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ E2E tests are required

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

📱 Mobile

-> Run Mobile E2E

  • Select "Run workflow"
  • Branch: LIVE-36816
  • Device: nanoX

@PiotrKorzeniowski98

Copy link
Copy Markdown
Contributor Author

Mobile E2E run #2 (after adding touchableTestID to cosmos ValidatorRow so the test can tap the provider row by ID):
https://github.com/LedgerHQ/ledger-live/actions/runs/33642167573

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.

🟢 Approval recommended

The changes are narrowly scoped to restoring deterministic E2E behavior for OSMO delegation and align with existing selection patterns without introducing risky logic changes.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Rsdoctor Bundle Diff Analysis

Found 7 projects in monorepo, 1 project with changes.

📊 Quick Summary
Project Total Size Gzip Size Change Gzip Change
desktop-main 2.5 MB - 0 -
desktop-preloader 7.1 KB - 0 -
desktop-renderer 82.4 MB - 0 -
desktop-webviewDappPreloader 36.9 KB - 0 -
desktop-webviewPreloader 200.0 B - 0 -
desktop-workers 36.8 KB - 0 -
mobile 129.5 MB - +160.0 B (0.0%) -
📋 Detailed Reports (Click to expand)

📁 mobile

Path: rsdoctor/mobile/rsdoctor-data.json

📌 Baseline Commit: 19d9639db754a60a233902ddeb0989fd5fb4d534 | PR: #21456

Metric Current Baseline Change
📊 Total Size 129.5 MB 129.5 MB +160.0 B (0.0%)
🗜️ Gzip Size - - -
📄 JavaScript 114.0 MB 114.0 MB +160.0 B (0.0%)
🎨 CSS 0 B 0 B 0
🌐 HTML 0 B 0 B 0
📁 Other Assets 15.5 MB 15.5 MB 0

📦 Download Diff Report: mobile Bundle Diff

Generated by Rsdoctor GitHub Action

- Add waitForElementById at end of selectValidator() so navigation back
  to Summary completes before caller proceeds (fixes timing race for all
  cosmos-family currencies including EGLD)
- Reorder OSMO flow: select validator before setAmount/validateAmount to
  avoid the fromSelectAmount bridge-pending interaction on cosmos Summary

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 2, 2026 16:10

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.

🟡 Changes recommended

There are two concrete issues that can break or destabilize E2E runs (empty-string-safe testID fallback and missing wait for provider row render before tapping).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 2
  • Review effort level: Lite

Comment on lines 72 to 79
async selectValidator(currencyId: string, provider: string) {
const ticker = provider.split(" - ")[0];
await tapById(this.delegationSummaryValidatorId(currencyId));
await typeTextById(this.searchPoolInput, ticker);
await waitForElementById(this.searchPoolInput);
await tapById(this.providerRow(ticker));
await waitForElementById(this.delegationSummaryValidatorId(currencyId));
}
Comment on lines 32 to 36
eventProperties={{
validatorName: validator.name || validator.validatorAddress,
}}
touchableTestID={`provider-row-${validator.name ?? validator.validatorAddress}`}
onPress={onPressT}
@sonarqubecloud

sonarqubecloud Bot commented Sep 2, 2026

Copy link
Copy Markdown

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

Labels

mobile Has changes in LLM

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants