4.4 KiB
4.4 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |||
|---|---|---|---|---|---|---|---|---|---|
| 06-e2e | E2E coverage for index-page sliders and nav-hiding behavior | done | 5 |
|
plan.md | ../../specs/integrations/requirements/enable-disable-toggle.md |
Task 06: E2E coverage for index-page sliders and nav-hiding behavior
- Acceptance:
- A new Playwright spec proves every one of the seven integration rows on
/settings/integrationshas a working slider, toggling GitHub's index-page slider updates GitHub's own settings-page slider to the same state, and clicking a slider never navigates. - A new Playwright spec proves: with a configured/healthy, disabled GitHub and "hide disabled" off (default), GitHub's sidebar nav entry is visible; turning "hide disabled" on hides it without a reload; turning GitHub back on reveals it again.
apps/web/e2e/tests/integrations/integrations-index-layout.spec.tsstill passes unmodified.
- A new Playwright spec proves every one of the seven integration rows on
- Verification:
cd apps/web && pnpm install --frozen-lockfile && pnpm e2e -- integrations-index-enabled-toggle hide-disabled-integrations-nav integrations-index-layout - Files likely touched:
apps/web/e2e/tests/integrations/integrations-index-enabled-toggle.spec.ts(new)apps/web/e2e/tests/integrations/hide-disabled-integrations-nav.spec.ts(new)
- Dependencies:
02-own-page-sliders,03-index-page-sliders,05-nav-availability. - Parallelism: sequential (last task; exercises the full feature).
- Inputs: spec Scenarios, plan E2E Tests section,
integrations-index-layout-helpers.ts,mobile-integrations-nav.spec.ts'sapiClient.mockGitHubSetUserfixture and visibility-check style. - Output contract: summary, files changed, exact e2e command run and its
output, blockers/risks, task/plan status update, synchronize
plan.md's Verification Results.
Results
integrations-index-enabled-toggle.spec.ts: navigates to/settings/integrations, asserts all seven#<slug>-enabledswitches are visible, toggles GitHub's off, asserts the URL never left the index page, saves via the shared floating save bar, then navigates to/settings/integrations/githuband asserts its own-page slider reflects the same persisted "off" state.hide-disabled-integrations-nav.spec.ts: makes GitHub configured/authenticated viaapiClient.mockGitHubSetUser, disables GitHub's slider and saves, navigates to/tasks(leaving the Settings takeover, which replaces the sidebar with the Settings tree — confirmed by inspecting a live DOM snapshot before writing this) and asserts the sidebar's GitHub link is still visible (hide-disabled off, the default); returns to Settings, turns "Hide disabled integrations from left panel navigation" on and saves, navigates back to/tasks, asserts the GitHub link is now hidden; re-enables GitHub and saves, navigates back to/tasks, asserts the link reappears.- This exposed a real bug during development, fixed by the corrected Task 03 markup: nesting the slider inline with the label made "Azure DevOps" wrap to two lines under the layout spec's real browser measurements — the fix landed in Task 03, and this task's runs are the confirming evidence that it holds end-to-end.
- Environment note: running Playwright locally required building
prerequisites this sandbox does not have pre-built —
make build-backend(needed a Go 1.26 toolchain found at/tmp/go1.26/bin, not on the defaultPATH),make build-web, andmake -C apps/backend e2e-plugin-package— each run once, then re-run after every source change under test. - Commands (via a managed background process so the tool-call timeout
couldn't truncate a multi-minute Playwright run):
npx playwright test --config e2e/playwright.config.ts e2e/tests/integrations/integrations-index-enabled-toggle.spec.ts e2e/tests/integrations/hide-disabled-integrations-nav.spec.ts e2e/tests/integrations/integrations-index-layout.spec.ts→3 passed (30.5s). - Files changed: the two new spec files listed above (Task 03 already updated the layout spec's helper; this task only re-ran it, unmodified, as the regression check — no fix was needed here).
- Blockers/risks: none. All background Playwright/Chromium processes and the temporary manual backend instance used for diagnosis were terminated after verification.