Add Playwright e2e coverage for bulk-move menu interaction (#179) #183
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#183
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background
The kilo-gsd fix for #179 (Gallery multi-select + bulk actions, commit
bb64faconorigin/main) shipped a new test filesrc/pages/issue-179.test.tsxwith 10 vitest specs. The verifier pass (commitefabafd) confirmed 9/10 pass with two small test fixes:userEvent.clicktofireEvent.click(jsdom renders the card with 0x0 layout dimensions; user-event's coordinate-based hit-test misses the controlled checkbox).The 10th spec,
"bulk move fires a single summary toast for the batch", is nowit.skipbecause it drives a Radix DropdownMenu (bulk-move-trigger) that cannot be opened reliably in jsdom with this codebase's pattern (other repo tests that touch Radix menus either mock the DropdownMenu or skip the menu interaction — seesrc/pages/issue-132-gallery.test.tsx).The bulk-move implementation path (
confirmBulkMoveinsrc/pages/Gallery.tsx) is exercised by the now-passingbulk deleteandbulk favoritetests viahandleMoveToFolder({ silent: true }per-id + a single summary toast), so the implementation is verified end-to-end at the unit level. What we cannot verify in vitest+jsdom is:bulk-move-triggeractually opens the Radix menu.confirmBulkMove(folderId)and shows a toast of the form"Moved N designs to <Folder>".What this issue asks for
Add a Playwright e2e spec (under
tests/e2e/or wherever the existing Playwright suite lives in this repo) that:folder-archivenamedArchive).bulk-move-trigger.Archivemenu item./Moved 2 designs to Archive/i.This complements the unit-level coverage and validates the Radix menu wiring end-to-end in a real browser.
Acceptance
src/pages/issue-179.test.tsxcan stayit.skip(or be removed and the e2e covers the same ground) — either is fine.Closed by commit
3b32b96onorigin/main(test(#183): Playwright e2e for Gallery bulk-move Radix DropdownMenu).New spec
tests/e2e/issue-183-bulk-move-menu.spec.tsruns the bulk-move scenario end-to-end:folder-archive(Archive) viapage.addInitScript()so React'suseState(loadFolders)/useState(loadDesigns)initializers see the values on first render.selection-mode-toggle).bulk-move-triggerand asserts the Radix DropdownMenu opens with role=menuitem Archive item visible (bulk-move-folder-archive).Moved 2 designs to Archivetoast appears.Local run:
npx playwright test tests/e2e/issue-183-bulk-move-menu.spec.ts→ 1 passed in 1.5s test time (after a 4.6s vite build). Lint clean vianpx eslint.The skipped vitest spec in
src/pages/issue-179.test.tsxis left asit.skipper the issue acceptance (either is fine) — the e2e covers the same Radix menu interaction in a real browser.