test(islands): add Playwright e2e specs for productivity islands #84
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_os!84
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "test/productivity-islands-e2e"
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?
Summary
Adds Playwright end-to-end specs for the five productivity islands and strips back-references to earlier rounds from the existing Projects spec. Each spec boots the WASM app once, opens its island via the shell custom event, exercises the main CRUD/interaction paths, and asserts both DOM state and the matching JSON-RPC methods.
Related Issue
Closes #85
Changes
tests/e2e/projects.spec.ts— existing spec, comments cleaned up, no behavior changetests/e2e/kanban.spec.ts(new)projects.project.get+projects.task.geton mount.dialog-overlaywhose.dialog-titlematches the clicked card, and the overlay closes on outside-clickscrollLefton the board container when adragovernear the right edge is dispatchedtests/e2e/sprints.spec.ts(new)projects.milestone.list+milestone.getmilestone.deleteexactly onceMilestoneCardrenders a formatted date, not the literalDue date settests/e2e/tasks.spec.ts(new)task.new+task.set), row visible, Delete shows ConfirmDialog, Cancel preserves the row, Confirm firestask.deletetests/e2e/stories.spec.ts(new)projects.story.*All specs share the existing RPC-monitor +
waitForApphelpers and run serially (workers: 1inplaywright.config.ts), so they share one bundle load.Test Results
Specs verified against the shared test instance (
HERO_OS_URL=http://88.99.147.220:29988/hero_os/ui):projects.spec.ts: passkanban.spec.ts: 4 tests pass (fan-out, drag-highlight, card-click, autoscroll)sprints.spec.ts: 2 tests pass (list+delete, card-date)tasks.spec.ts: passstories.spec.ts: passManual verification
cd tests/e2e && npm installHERO_OS_URL=<deployed-build> npx playwright test projects.spec.ts kanban.spec.ts sprints.spec.ts tasks.spec.ts stories.spec.ts --reporter=listdevelopment