sadpandajoe opened a new pull request, #39980:
URL: https://github.com/apache/superset/pull/39980
### SUMMARY
De-flakes the Playwright list-view specs (dashboard / chart / dataset) by
hardening the delete-confirmation modal interactions, the bulk-select page
object, and the visibility/timeout assertions used after row creation and
deletion.
The first commit fixed dashboard-list delete + bulk-export. The second
commit extends the same hardening across chart-list and dataset-list so the
patterns are consistent end-to-end.
**Page objects** (`superset-frontend/playwright/components/`)
- `DeleteConfirmationModal`: explicit `data-test` selectors, wait for the
Delete button to be enabled before clicking (it's disabled until the user types
DELETE), and gate on the modal being attached.
- `BulkSelect`: wait for the header toggle after enabling bulk-select; gate
on checkbox / action-button visibility before interacting; mirror `selectRow`'s
waits in `deselectRow` so lingering selection state surfaces at the call site.
**Specs** (`tests/{dashboard,chart,dataset}/*-list.spec.ts`)
- Row-visibility waits on freshly-created rows now use
`TIMEOUT.API_RESPONSE` (15 s) so the async list query has time on slow CI.
- Toast assertions switched from `expect(toast).toBeVisible()` to
`toast.waitFor({ state: 'visible' })` so a fast auto-dismiss is detected.
- Post-delete row assertions switched from `not.toBeVisible()` to
`toHaveCount(0)` since deleted rows are removed from the DOM rather than hidden.
- Bulk-export specs (chart, dataset) now set `test.setTimeout(SLOW_TEST)`
and `waitForGet({ timeout: SLOW_TEST })` to match the bulk-delete budget; the
prior implicit budget was capped by Playwright's 30 s test timeout.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A — test-only change.
### TESTING INSTRUCTIONS
```
npm run playwright:test -- tests/dashboard/dashboard-list.spec.ts
npm run playwright:test -- tests/chart/chart-list.spec.ts
npm run playwright:test -- tests/dataset/dataset-list.spec.ts
```
Run each spec multiple times locally and on CI to confirm flake reduction
(the failures were intermittent, not deterministic).
### ADDITIONAL INFORMATION
- [ ] Has associated issue:
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
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]