Repository navigation
test(e2e): fix flaky/ambiguous locators and wallet-gated create-form tests - #1027
Merged
Austinaminu2 merged 1 commit intoOct 18, 2026
Merged
Conversation
- analytics.spec.ts: freeze the clock with page.clock so which mock
streams fall inside the 30-day/all-time window no longer depends on
the day the suite runs.
- visual.spec.ts: replace ambiguous text= locators (which matched both
the submit button and the tx-preview dialog, or both the trigger
button and the dialog title) with getByRole('heading'/'button', ...)
so the filled-form and cancel-dialog screenshot tests get past the
locator step without strict-mode violations.
- visual.spec.ts / contract-integration.spec.ts: replace
locator('text=Dashboard'), which matched 2-4 elements (navbar link,
mobile nav link, page heading, back-to-dashboard link), with a
role-based heading locator on the dashboard page and a main-landmark
scoped link locator on the stream detail page.
- contract-integration.spec.ts: connect the mock xBull wallet (same
helper pattern as accessibility.spec.ts) before visiting /app/create
in the create-form tests, since the form is wrapped in RequireWallet
and renders only a connect prompt otherwise.
Closes FlowwStar#908
Closes FlowwStar#907
Closes FlowwStar#905
Closes FlowwStar#903
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
@Genghis-codes Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Genghis-codes
had a problem deploying
to
staging
October 18, 2026 14:49 — with
GitHub Actions
Failure
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes 4 E2E test issues in the Playwright suite:
analytics.spec.ts's mock-data-based assertions depended onwhich calendar day the suite ran, since the seeded streams in
lib/mock-data.tsuse offsets relative toDate.now(). Froze the clockwith Playwright's
page.clock.install()in the sharedwithWallethelper so the 30-day/all-time counts are deterministic.
visual.spec.ts's "filled form screenshot" and "cancel dialogscreenshot" tests used
text=locators that matched more than oneelement (the submit button text also appears as the breadcrumb label;
the cancel trigger button and the dialog title share the same copy).
Replaced with
getByRole('heading'/'button', { name }).text=Dashboardlocators with role-based ones #905 —locator('text=Dashboard')matched the navbar link, themobile nav link, and (on the dashboard page) the page's own
<h1>, or(on the stream detail page) both the navbar link and the page's own
back-to-dashboard link. Replaced with a role-based heading locator for
the dashboard page and a
main-landmark-scoped link locator for thestream detail page's back button.
contract-integration.spec.ts(
should show create form with recipient field,should handle token selection,should have accessible form labels) visited/app/createwithout a connected wallet. Since the form is wrapped in
RequireWallet, they only ever saw the connect prompt. Added the samewithWalletmock-xBull helperaccessibility.spec.tsalready uses, andcall it before navigating in these three tests.
Test plan
Closes #908
Closes #907
Closes #905
Closes #903
🤖 Generated with Claude Code