Files
kandev/docs/plans/gitlab-task-link-menu/task-02-e2e-contextual-linking.md
T
2026-08-24 11:09:03 +00:00

71 lines
2.5 KiB
Markdown

---
id: "02-e2e-contextual-linking"
title: "GitLab contextual linking E2E"
status: done
wave: 2
depends_on: ["01-frontend-link-menu"]
plan: "plan.md"
spec: "../../specs/integrations/requirements/gitlab-integration.md"
---
# Task 02: GitLab Contextual Linking E2E
## Acceptance
- Desktop E2E proves an unlinked task has no generic top-bar link action and
can link an MR through right-click `Link` > `GitLab Merge Request`.
- Mobile E2E proves the visible `Task actions` ellipsis exposes the same nested
action, opens the link dialog, and does not rely on right-click or long press.
- The desktop flow proves the linked-MR status control appears after linking
and survives reload; mobile menu surfaces remain viewport-contained with
touch-sized rows and no document horizontal overflow.
## Files Likely Touched
- `apps/web/e2e/tests/gitlab/gitlab-parity.spec.ts`
- `apps/web/e2e/tests/gitlab/mobile-gitlab-parity.spec.ts`
- Optional focused page-object helper under `apps/web/e2e/pages/` only when it
removes repeated stable selectors.
## Dependencies
- `01-frontend-link-menu`
## Inputs
- Spec contextual-link/top-bar scenarios.
- Plan `E2E Tests` and `Mobile design contract` sections.
- Existing manual-link section in `gitlab-parity.spec.ts`.
- Existing mobile task-actions geometry coverage in
`apps/web/e2e/tests/task/mobile-sidebar-task-actions.spec.ts` and nested-link
coverage in `apps/web/e2e/tests/task/mobile-external-link-menu.spec.ts`.
## Implementation Notes
- Follow `/e2e`, `/tdd`, and `/mobile-parity`; do not spawn subagents.
- Confirm the updated test fails for the expected missing menu action before
relying on the implementation.
- Use the managed `pnpm e2e:run` runner so production frontend assets are
rebuilt before the tests execute.
- Update only this task file's status. Do not edit `plan.md`.
## Verification
```bash
cd apps/web && pnpm e2e:run tests/gitlab/gitlab-parity.spec.ts tests/gitlab/mobile-gitlab-parity.spec.ts
```
## Verification Status
The targeted desktop and mobile GitLab Playwright scenarios pass (6/6).
Desktop and mobile screenshots were validated, along with mobile menu touch
targets and viewport containment. Aggregate format, typecheck, unit, and lint
checks pass, and aggregate tests pass with `TMPDIR=/tmp`.
## Output Contract
Report changed E2E scenarios, the exact command and result, rendered desktop
and phone observations, failure artifact paths if any, blockers, and residual
risks. Set this task to `in_progress` before changes and `done` only after both
desktop and mobile acceptance criteria pass.