feat: adds skeleton loader for quote fetching#27174
Conversation
|
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. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: There are no changes to core Engine, controllers, navigation, or shared infrastructure. The impact appears limited to UI rendering and presentation of bridge quote details, but this is a critical step in the bridge flow, so end-to-end validation of the Trade/Bridge flow is warranted. No impact detected for accounts, identity, network permissions, snaps, perps, predictions, card, or ramps flows. Performance Test Selection: |
|
✅ E2E Fixture Validation — Schema is up to date |
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
|
|
||
| expect( | ||
| getByTestId(BridgeViewSelectorsIDs.QUOTE_DETAILS_SKELETON), | ||
| ).toBeDefined(); |
There was a problem hiding this comment.
Test uses toBeDefined() instead of toBeOnTheScreen()
Low Severity
The new skeleton test asserts element presence with toBeDefined() on the result of getByTestId(BridgeViewSelectorsIDs.QUOTE_DETAILS_SKELETON). The unit testing guidelines mandate using toBeOnTheScreen() for element presence assertions, not toBeTruthy() or toBeDefined(). toBeDefined() is a weak matcher that doesn't actually verify the element rendered to screen.
Triggered by project rule: Unit Testing Guidelines





Description
Adds a skeleton loader during quote fetching in the swaps experience.
Changelog
CHANGELOG entry: improves quote loading UI
Related issues
Fixes: null
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Low Risk
Low risk UI/test-only change that adds deterministic
testIDs and a small unit test for the quote details loading skeleton; no business logic or data flow changes.Overview
Adds a dedicated
QuoteDetailsCardSkeletonloading state with per-rowtestIDs and re-exports it fromQuoteDetailsCard/index.ts.Updates
QuoteDetailsCard.test.tsxto cover the skeleton, asserting theQUOTE_DETAILS_SKELETONcontainer renders and contains four loading rows.Written by Cursor Bugbot for commit 4309445. This will update automatically on new commits. Configure here.