Files
kandev/docs/plans/gitlab-integration-parity/task-08-e2e-docs-verification.md
T
2026-08-24 11:09:03 +00:00

84 lines
3.4 KiB
Markdown

---
id: "08-e2e-docs-verification"
title: "GitLab parity E2E and documentation"
status: done
wave: 5
depends_on: ["02-watcher-dispatch", "03-task-mr-linking-launch", "04-reviewers-subscriptions", "05-watch-settings-ui", "06-mr-review-ui", "07-mr-creation-runtime"]
plan: "plan.md"
spec: "../../specs/integrations/requirements/gitlab-integration.md"
---
# Task 08: GitLab Parity E2E And Documentation
## Acceptance
- The mock/reset harness deterministically supports two workspace connections,
watch matches, MR feedback/actions, reviewers, subscriptions, links, and MR
creation without state leaking between Playwright workers/tests.
- Desktop and mobile Playwright flows prove workspace isolation, watch dispatch,
quick launch/link/unlink, review/actions/subscriptions, and automatic MR link
after creation, including layout/overflow assertions.
- Public docs describe the shipped workspace-scoped behavior and limitations,
and full format/typecheck/test/lint plus docs validation pass.
## Verification
```bash
rtk make fmt
rtk make typecheck
rtk make test
rtk make lint
cd apps/web && rtk pnpm e2e:run tests/gitlab/gitlab-parity.spec.ts tests/gitlab/gitlab-watches.spec.ts tests/gitlab/gitlab-mr-creation.spec.ts
cd apps/web && rtk pnpm e2e:run --no-build --project mobile-chrome tests/gitlab/mobile-gitlab-parity.spec.ts
rtk node --test scripts/validate-public-docs.test.mjs
rtk node scripts/validate-public-docs.mjs
```
## Files Likely Touched
- `apps/backend/internal/gitlab/mock_client.go`
- `apps/backend/internal/gitlab/mock_controller.go`
- `apps/backend/internal/gitlab/mock_client_test.go`
- `apps/backend/internal/backendapp/e2e_reset.go`
- `apps/backend/internal/backendapp/e2e_reset_test.go` (new)
- `profiles.yaml`
- `apps/web/e2e/helpers/api-client.ts`
- `apps/web/e2e/pages/gitlab-page.ts` (new)
- `apps/web/e2e/pages/gitlab-settings-page.ts` (new)
- `apps/web/e2e/tests/gitlab/gitlab-parity.spec.ts` (new)
- `apps/web/e2e/tests/gitlab/gitlab-watches.spec.ts` (new)
- `apps/web/e2e/tests/gitlab/gitlab-mr-creation.spec.ts` (new)
- `apps/web/e2e/tests/gitlab/mobile-gitlab-parity.spec.ts` (new)
- `docs/public/integrations.md`
- `docs/public/feature-status.md`
- `docs/public/extending-kandev.md`
- `docs/public/websocket-api.md`
- `docs/specs/integrations/requirements/gitlab-integration.md`
- `docs/specs/INDEX.md`
- `docs/plans/gitlab-integration-parity/plan.md`
- `docs/plans/gitlab-integration-parity/task-*.md`
## Dependencies
All production tasks must be integrated. This task may fix test-harness and
integration wiring defects, but it must return feature logic regressions to the
owning task rather than silently weakening assertions.
## Inputs
- All spec scenarios and plan E2E section.
- Skills: `/e2e`, `/mobile-parity`, `/qa`, `/docs-maintainer`, `/verify`.
- E2E patterns: GitHub watch reset, PR action/task indicator, Jira/Linear
settings, and existing task PR detail/create tests.
- Constraint: assert user-visible UI outcomes; use API only to seed
preconditions. Verify persistence with reload and cross-workspace isolation
with distinct hosts/accounts.
## Output Contract
Report scenario coverage by file/project, screenshots or bounding-box evidence
for desktop/mobile, mock/reset changes, public docs updated, exact verification
results, files changed, blockers, flaky/residual risks, and any spec corrections.
Mark this task and plan `done` only after every required command passes; change
the spec to `shipped` only when all acceptance scenarios are satisfied.