sadpandajoe opened a new pull request, #41432:
URL: https://github.com/apache/superset/pull/41432

   ### SUMMARY
   
   Migrates the genuine end-to-end case from the legacy Cypress **Dashboard 
load** suite (`dashboard/load.test.ts`) to the existing Playwright framework, 
as part of the dashboard Cypress→Playwright migration.
   
   The original suite had five cases. Only **"should load dashboard"** is a 
true E2E test — it loads a multi-chart dashboard and proves the charts render 
via real backend queries. The other four (`should load in edit mode`, `should 
load in standalone mode`, `should load in edit/standalone mode`, `should send 
log data`) only assert DOM/URL state from URL params 
(`?edit=true&standalone=true`) or intercept a log request — there is no data 
round-trip to make them E2E. They belong in component/RTL coverage and are 
intentionally **not** migrated here.
   
   Design decisions:
   - The dashboard is built from scratch via the API (`testWithAssets` fixture) 
rather than relying on a seeded example, so the test is hermetic, 
self-cleaning, and deterministic.
   - It asserts both that every chart reaches its rendered state **and** that 
the render was driven by real `POST /api/v1/chart/data` queries returning 200 — 
guarding against a "chart shell renders but never queried" false pass.
   - Adds `DashboardPage.waitForAllChartsRendered()`, a reusable page-object 
method that derives the chart set from the dashboard and waits on each chart's 
render marker (`#chart-id-<id>`), the same signal the legacy Cypress 
`waitForChartLoad` relied on.
   
   ### TESTING INSTRUCTIONS
   
   ```
   cd superset-frontend
   PLAYWRIGHT_BASE_URL=http://localhost:8088 npx playwright test 
--project=chromium dashboard/dashboard-load.spec.ts
   ```
   
   Verified locally against a running Superset stack (passes in ~8s).
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to