Files
kandev/docs/plans/integration-provider-auth-errors/task-02-provider-auth-e2e.md
T
2026-08-01 11:19:40 +01:00

2.5 KiB

id, title, status, wave, depends_on, plan, spec, related_spec
id title status wave depends_on plan spec related_spec
02-provider-auth-e2e Prove provider page behavior end to end done 2
01-classify-session-challenges
plan.md ../../specs/auth/spec.md ../../specs/integrations/github-authentication.md

Task 02: Prove provider page behavior end to end

Intent

Exercise the four provider data pages and GitHub PAT settings through the browser so a future regression cannot turn an integration credential failure into a Kandev login redirect.

Acceptance

  1. GitHub, GitLab, Jira, and Linear pages each remain on their own route and show a provider loading error after their primary data endpoint returns an unchallenged 401.
  2. GitHub settings retain an invalid replacement PAT, keep the connection surface open, show the backend error, and keep the existing connection active.
  3. The focused production-build E2E spec passes without adding mobile-specific UI or changing page composition.

TDD

  1. Add the browser scenarios using existing integration configuration helpers and route interception for sanitized provider 401 responses.
  2. Run the managed spec and correct fixture or selector assumptions exposed by the real browser surface before interpreting a failure as a product regression.
  3. Rerun after Task 01 and confirm the provider routes and error UI remain visible.

Files Likely Touched

  • apps/web/e2e/tests/integrations/provider-auth-errors.spec.ts

Dependencies

Task 01 complete.

Parallelism

sequential — validates Task 01 through real SPA routing.

Verification

cd apps/web && pnpm e2e:run tests/integrations/provider-auth-errors.spec.ts

Inputs

  • apps/web/e2e/helpers/api-client.ts — GitHub, GitLab, Jira, and Linear configuration helpers.
  • apps/web/e2e/pages/github-auth-settings-page.ts — GitHub connection dialog selectors.
  • The existing provider page search hooks and list error renderers under apps/web/app/ and apps/web/components/{github,gitlab,jira,linear}/.

Output Contract

The first managed run exposed two test assumptions (GitHub personal identity requires an App-backed workspace seed, and the PAT input must be selected by its textbox role); it did not reach a product redirect failure. After correcting those assumptions, the final managed runner passed all five scenarios. No failure artifacts remain relevant, and the remaining risk is limited to provider-specific backend error-body wording outside the sanitized responses covered here.