3.3 KiB
3.3 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 04-e2e-and-verification | E2E and full verification | done | 4 |
|
plan.md | ../../specs/tasks/requirements/subtask-reparenting-drag-drop.md |
Task 04: E2E and full verification
Acceptance
- Desktop Playwright spec covers: subtask dragged onto another root's nest zone re-parents (assert API
parent_idand sidebar nesting, no reload);inherit_parentsubtask ends withshared_group(assert via API metadata); root dragged onto root nests; a task with children offers no nest zone; a drop on an invalid row is a no-op; sibling reorder still works. - Mobile-chrome touch variant covers the same re-parent flow via
Input.dispatchTouchEvent. make fmtthenmake typecheck test lintpass from the repository root.
Verification
cd apps/web && pnpm e2e:run e2e/tests/task/subtask-reparent-drag-drop.spec.ts
cd /home/clem/.kandev/tasks/re-parenting-from-dr_0b8/kdlbs-kandev && make fmt && make typecheck && make test && make lint
Note: run pnpm install --frozen-lockfile from apps/ once if this is a fresh worktree (missing node_modules breaks pnpm commands and the commit hook).
Files likely touched
apps/web/e2e/tests/task/subtask-reparent-drag-drop.spec.ts(new) — model structure, seeding, and sidebar interaction onapps/web/e2e/tests/task/subtask-detachment.spec.ts; drag mechanics vialocator.hover()+page.mouse.down()+ steppedmouse.move()+mouse.up()(dnd-kit needs >8px movement before activation).- Mobile variant: same spec gated to
mobile-chromeproject or a sibling spec, using theInput.dispatchTouchEventpattern fromapps/web/e2e/tests/mobile-automations-scroll.spec.ts.
Dependencies
Tasks 01–03.
Inputs
- Spec Scenarios (each maps to a test), plan E2E section, existing
subtask-detachmente2e specs and helpers (apps/web/e2e/helpers/api-client.tscreateTask/updateTask withparent_idandworkspace_mode).
Output contract
Report the spec files, exact commands and results (including per-scenario pass counts), files changed, blockers, residual risks; update this task and plan.md when acceptance passes.
Results
- Desktop:
pnpm e2e:run tests/task/subtask-reparent-drag-drop.spec.ts --shards 1— 5 passed (subtask→root reparent + workspace-mode normalization, root→root nest, no nest zones for a task with children, subtask-row drop no-op, sibling reorder regression). - Mobile:
pnpm e2e:run --project mobile-chrome tests/task/mobile-subtask-reparent-drag-drop.spec.ts --shards 1— 1 passed (touch drag via CDPInput.dispatchTouchEvent; source handle and target zone are scrolled into view first — the sheet scrolls and off-viewport coordinates make raw mouse/touch events no-ops). - Root verification:
make fmt,make typecheck,make lintpass (umask 022).make test: all changed packages pass; residual failures are pre-existing environment issues (launchd/systemd/cli-shim backend tests, Docker-bridge-dependenthttp-git-server.test.ts, load-sensitive file-browser timeouts that pass in isolation) — verified failing on the stash-clean base. - Files changed:
e2e/tests/task/subtask-reparent-drag-drop.spec.ts(new),e2e/tests/task/mobile-subtask-reparent-drag-drop.spec.ts(new). Temporary diagnostic specmobile-drag-diag.spec.tscreated and removed.