67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
---
|
|
id: "03-pr-unlink-e2e"
|
|
title: "PR unlink E2E coverage"
|
|
status: done
|
|
wave: 3
|
|
depends_on: ["01-backend-unlink-contract", "02-frontend-multi-pr-unlink"]
|
|
plan: "plan.md"
|
|
spec: "../../specs/tasks/requirements/link-existing-task-github-issue.md"
|
|
---
|
|
|
|
# Task 03: PR Unlink E2E Coverage
|
|
|
|
## Acceptance
|
|
|
|
- Desktop Playwright coverage unlinks the older of two PRs from the hover
|
|
popover and proves the sibling plus persisted single-PR state remain after
|
|
reload.
|
|
- Mobile Playwright coverage performs the same action through the existing PR
|
|
status drawer using a touch event, verifies the close target hitbox, and
|
|
proves document containment.
|
|
- Shared page-object/API seed helpers identify associations without relying on
|
|
unstable visible copy.
|
|
|
|
## Verification
|
|
|
|
```bash
|
|
cd apps/web && pnpm e2e:run --host --project chromium e2e/tests/pr/pr-multi-popover.spec.ts
|
|
cd apps/web && pnpm e2e:run --host --project mobile-chrome e2e/tests/pr/mobile-pr-ci-chip.spec.ts
|
|
```
|
|
|
|
## Files likely touched
|
|
|
|
- `apps/web/e2e/tests/pr/pr-multi-popover.spec.ts`
|
|
- `apps/web/e2e/tests/pr/mobile-pr-ci-chip.spec.ts`
|
|
- `apps/web/e2e/pages/session-page.ts`
|
|
- `apps/web/e2e/helpers/api-client.ts` only if the existing seed helpers cannot
|
|
express the required association identity
|
|
|
|
## Dependencies
|
|
|
|
Tasks 01 and 02.
|
|
|
|
## Parallelism
|
|
|
|
Sequential. The scenarios exercise the completed backend contract and shared
|
|
frontend component.
|
|
|
|
## Inputs
|
|
|
|
- Spec scenarios: desktop unlink and coarse-pointer unlink.
|
|
- Plan section: `E2E Tests` and the complete mobile design contract.
|
|
- Existing seed/open patterns in the two named PR specs.
|
|
|
|
## Risks
|
|
|
|
- The mobile project only discovers `mobile-*.spec.ts`; keep the existing file
|
|
name and run the managed E2E runner so production frontend/backend artifacts
|
|
are rebuilt.
|
|
- When the second PR disappears the drawer/popover may unmount; assert the
|
|
resulting task state rather than waiting on a detached close control.
|
|
|
|
## Output contract
|
|
|
|
Report RED/GREEN Playwright evidence, screenshots or rendered inspection,
|
|
files changed, exact command result, remaining risks/blockers, and update this
|
|
task plus `plan.md` status in the same conversation.
|