sadpandajoe opened a new pull request, #37529: URL: https://github.com/apache/superset/pull/37529
### SUMMARY Fix skipped Dashboard Export Playwright E2E tests by creating a reusable `Menu` core component that reliably handles Ant Design dropdown submenu interactions. **Problem:** The export tests were skipped because Playwright's `.hover()` didn't reliably trigger Ant Design's submenu popups. The submenu uses `onMouseEnter`/`onMouseLeave` with internal state, making hover-based interactions flaky. **Solution:** Created a `Menu` component (`playwright/components/core/Menu.ts`) with a fallback chain: 1. **Hover** (primary) - native Playwright hover on `.ant-dropdown-menu-submenu-title` 2. **Keyboard** (fallback) - focus + ArrowRight for accessibility 3. **dispatchEvent** (last resort) - synthetic mouseover/mouseenter events matching Cypress approach Additional improvements: - `DashboardPage.waitForChartsToLoad()` waits for all loading indicators (count=0) before interacting with menus - Popup selectors are scoped by expected item text to avoid hitting wrong popups - Tests use existing `Toast` component for success toast assertions - Download files are cleaned up in `afterEach` ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF N/A - Test infrastructure change only. **Before:** 3 tests skipped (`test.describe.skip`) **After:** 2 tests enabled and passing (merged duplicate toast test into export test) ### TESTING INSTRUCTIONS ```bash cd superset-frontend PLAYWRIGHT_ADMIN_PASSWORD=admin INCLUDE_EXPERIMENTAL=true npx playwright test --grep "Dashboard Export" ``` Both tests should pass: - `should download ZIP and show success toast when clicking Export YAML` - `should download example bundle and show success toast when clicking Export as Example` ### ADDITIONAL INFORMATION - [ ] Has associated issue: - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] 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]
