[LWM] fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816) - #21446
[LWM] fix(e2e): update OSMO delegate test after Ledger validator removal (LIVE-36816)#21446PiotrKorzeniowski98 wants to merge 4 commits into
Conversation
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>
PR title does not follow the repository conventionsGot: Expected structure:
Examples:
See Git conventions. |
Web Tools Build Status
|
There was a problem hiding this comment.
🟢 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.
|
CI run triggered: |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
🟢 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>
|
|
Mobile E2E run #2 (after adding |
There was a problem hiding this comment.
🟢 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
Rsdoctor Bundle Diff AnalysisFound 7 projects in monorepo, 1 project with changes. 📊 Quick Summary
📋 Detailed Reports (Click to expand)📁 mobilePath:
📦 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>
There was a problem hiding this comment.
🟡 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
| 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)); | ||
| } |
| eventProperties={{ | ||
| validatorName: validator.name || validator.validatorAddress, | ||
| }} | ||
| touchableTestID={`provider-row-${validator.name ?? validator.validatorAddress}`} | ||
| onPress={onPressT} |
|



Summary
chosenValidatorreturnsundefinedfor OSMO (same behavior as persistence/quicksilver), rendering"-"in the UIdelegateOSMO.spec.tsstill expected"Ledger by Figment"to be pre-selected, causing a nightly failureFix
Added OSMO to the explicit
selectValidatorpath indelegate.ts, matching the existing MultiversX pattern. The test now selects the validator explicitly before asserting the provider.Test plan
[Mobile] - E2E Onlynightly on develop — OSMO delegate test (B2CQA-3022) should pass🤖 Generated with Claude Code