2.5 KiB
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 |
|
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
- 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.
- GitHub settings retain an invalid replacement PAT, keep the connection surface open, show the backend error, and keep the existing connection active.
- The focused production-build E2E spec passes without adding mobile-specific UI or changing page composition.
TDD
- Add the browser scenarios using existing integration configuration helpers and route interception for sanitized provider 401 responses.
- Run the managed spec and correct fixture or selector assumptions exposed by the real browser surface before interpreting a failure as a product regression.
- 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/andapps/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.