fix(e2e): add missing /system/version, /diagnostics, /trust, /validate pages - #53
Merged
Merged
Conversation
…idate pages Tests in 13-system-dev-pages.spec.ts expected these four pages but they did not exist, causing 24 failures (8 per shard across 3 browsers). Each page follows the established 7-UI-state pattern from /system/urls: skeleton → offline → error → empty → success + refresh spinner + unauth redirect. - /system/version: fetches /api/nself/version, renders CLI + admin versions - /system/diagnostics: fetches /api/nself/diagnostics, renders check list - /system/trust: fetches /api/nself/trust, renders SSL/DNS/port trust rows - /system/validate: fetches /api/nself/diagnostics?mode=validate, renders validation check list with category badges and fix suggestions
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Lighthouse Audit Results
Score Guide
View full Lighthouse report |
acamarata
added a commit
that referenced
this pull request
Jul 3, 2026
src/app/system/{diagnostics,trust,validate,version}/page.tsx landed
unformatted in b72cd1c and have failed 'pnpm run format:check' on every
run since. Formatting only, no logic changes.
acamarata
added a commit
that referenced
this pull request
Jul 3, 2026
… failures (#58) * fix(e2e): retarget dead-route specs to live pages — fixes chronic E2E failures 14-dev-dashboard-pages.spec.ts and 15-ops-stack-services.spec.ts still tested /dev/seed, /dashboard/status, and /operations/scale — all deleted in the dead-page quarantine (6bf776a). Every run since then failed those suites deterministically across all browsers/shards (element-not-found after the full 20 s expect timeout, including all retries). These were test bugs, not code regressions. - /dev/seed block -> /database/seed with the real API contract ({ success, data: Seed[] } from /api/database/seed) and the actual UI text; the page has no retry button on fetch failure (it falls back to an empty list), so the offline test asserts that real behavior. - /dashboard/status block -> /uptime with the real /api/uptime contract ({ generatedAt, services, overallUptimePct }) and real error-banner behavior (no retry button; Refresh persists). - /operations/scale block removed: the page was deleted and its modern successor /scale has a different API (/api/scale) and UI; noted in the file header for a fresh 7-state ticket. Local proof: chromium 121/121 twice; chromium+firefox+Mobile Chrome 363/363. No .skip, no retries added, no assertions weakened. * style: prettier-format system pages (pre-existing Lint failure from #53) src/app/system/{diagnostics,trust,validate,version}/page.tsx landed unformatted in b72cd1c and have failed 'pnpm run format:check' on every run since. Formatting only, no logic changes.
acamarata
added a commit
that referenced
this pull request
Jul 3, 2026
* fix(e2e): retarget dead-route specs to live pages — fixes chronic E2E failures 14-dev-dashboard-pages.spec.ts and 15-ops-stack-services.spec.ts still tested /dev/seed, /dashboard/status, and /operations/scale — all deleted in the dead-page quarantine (6bf776a). Every run since then failed those suites deterministically across all browsers/shards (element-not-found after the full 20 s expect timeout, including all retries). These were test bugs, not code regressions. - /dev/seed block -> /database/seed with the real API contract ({ success, data: Seed[] } from /api/database/seed) and the actual UI text; the page has no retry button on fetch failure (it falls back to an empty list), so the offline test asserts that real behavior. - /dashboard/status block -> /uptime with the real /api/uptime contract ({ generatedAt, services, overallUptimePct }) and real error-banner behavior (no retry button; Refresh persists). - /operations/scale block removed: the page was deleted and its modern successor /scale has a different API (/api/scale) and UI; noted in the file header for a fresh 7-state ticket. Local proof: chromium 121/121 twice; chromium+firefox+Mobile Chrome 363/363. No .skip, no retries added, no assertions weakened. * style: prettier-format system pages (pre-existing Lint failure from #53) src/app/system/{diagnostics,trust,validate,version}/page.tsx landed unformatted in b72cd1c and have failed 'pnpm run format:check' on every run since. Formatting only, no logic changes. * style: prettier sweep — 16 drifted files failing the CI format gate
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
13-system-dev-pages.spec.ts(Mobile + Desktop × 3 browsers) caused by four pages that were tested but never built/system/version,/system/diagnostics,/system/trust, and/system/validatefollowing the established 7-UI-state pattern from/system/urlsRoot cause
The spec file
tests/e2e/13-system-dev-pages.spec.tshad full test suites for these four pages, but the pages did not exist insrc/app/system/. Every navigation to them returned a 404, so all success/offline/redirect assertions timed out at 20 s and failed 3 retries each.Pages added
/system/version/api/nself/version/system/diagnostics/api/nself/diagnostics/system/trust/api/nself/trust<main>/system/validate/api/nself/diagnostics?mode=validate<main>Test plan
pnpm run type-check— passed locallypnpm run lint— passed locally