You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test: extend axe-core accessibility audit to account and password reset pages (#1110) (#1111)
Add axe-core audits for /forgot-password, /reset-password, and /account
pages. Uses baseTest for public routes and authTest for the authenticated
account settings page, following existing patterns.
Co-authored-by: Ona <no-reply@ona.com>
Copy file name to clipboardExpand all lines: .agents/quality.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Tracks code quality per domain. Updated by automations as a side effect of featu
23
23
| Import/Export | A | Markdown export (download .md) and import (parse .md, create page) via page menu and workspace home. Shared `useMarkdownImport` hook. Markdown utils with unit tests (8 tests). E2E specs: import-export flow plus edge cases (`e2e/import-export.spec.ts`, 7 tests), workspace home import (`e2e/workspace-home-import.spec.ts`, 3 tests) — 10 E2E tests total. |
24
24
| Members | A | Member list with role badges, role change, remove. Invite form (email + role). Pending invite list with revoke. Invite accept page. Role select dropdown. Settings members page with server-side data fetching. Unit tests: invite-form (4 tests), member-list (14 tests), pending-invite-list (8 tests), role-select (8 tests). E2E coverage: invite, pending list, revoke, accept, role change, remove, member role restrictions (7 tests). |
25
25
| Feedback | A | Feedback form with screenshot capture. API route with integration tests (17 tests) including HeadlessChrome filter. Feedback form design spec tests (5 tests). Screenshot hook unit tests (2 tests). E2E spec covers sheet open, type selection, character count, form submission, reset, and validation (6 tests). |
26
-
| App Shell | A | Collapsible sidebar (desktop: aside, mobile: Sheet), sidebar context with ⌘+\ shortcut, workspace switcher, page tree, user menu with sign-out, focus mode hint, theme toggle, skip-to-content accessibility link. Clean component decomposition. Sidebar context unit tests (21 tests): state management, keyboard shortcut registration, toggle behavior, focus mode, mobile close-on-navigate. Loading skeleton tests (25 tests): app (4), workspace (5), page (6), settings (5), settings members (5). Error boundary tests (22 tests): route-error component (6), workspace error (4), page error (4), settings error (4), settings members error (4). Focus mode hint design spec tests (3 tests). Workspace home design spec tests (5 tests). E2E specs: sidebar responsive (4 tests), mobile responsive (5 tests — page creation, table scroll, board cards, slash menu, floating toolbar at 375×667), theme toggle (4 tests), skip-to-content (2 tests), not-found pages (3 tests), public routes (18 tests), accessibility audit with axe-core (10 tests — sign-in, workspace home, page editor, workspace settings, members, database table view, database board view, database calendar view, database gallery view, database list view), keyboard shortcuts dialog (5 tests — open via ? key, category display incl. Page section, shortcut verification, close on Escape, open via user menu), workspace home new database (1 test), workspace home mobile header (1 test), workspace home interactions (6 tests — new page, filter, sort, page navigation, clear filter, recently visited), workspace home import (3 tests — button visible, import creates page, imported page in list). |
26
+
| App Shell | A | Collapsible sidebar (desktop: aside, mobile: Sheet), sidebar context with ⌘+\ shortcut, workspace switcher, page tree, user menu with sign-out, focus mode hint, theme toggle, skip-to-content accessibility link. Clean component decomposition. Sidebar context unit tests (21 tests): state management, keyboard shortcut registration, toggle behavior, focus mode, mobile close-on-navigate. Loading skeleton tests (25 tests): app (4), workspace (5), page (6), settings (5), settings members (5). Error boundary tests (22 tests): route-error component (6), workspace error (4), page error (4), settings error (4), settings members error (4). Focus mode hint design spec tests (3 tests). Workspace home design spec tests (5 tests). E2E specs: sidebar responsive (4 tests), mobile responsive (5 tests — page creation, table scroll, board cards, slash menu, floating toolbar at 375×667), theme toggle (4 tests), skip-to-content (2 tests), not-found pages (3 tests), public routes (18 tests), accessibility audit with axe-core (13 tests — sign-in, forgot-password, reset-password, workspace home, page editor, workspace settings, members, account settings, database table view, database board view, database calendar view, database gallery view, database list view), keyboard shortcuts dialog (5 tests — open via ? key, category display incl. Page section, shortcut verification, close on Escape, open via user menu), workspace home new database (1 test), workspace home mobile header (1 test), workspace home interactions (6 tests — new page, filter, sort, page navigation, clear filter, recently visited), workspace home import (3 tests — button visible, import creates page, imported page in list). |
27
27
| API Routes | A | Health endpoint (DB connectivity check, 9 tests), search endpoint (full-text search, 14 tests), account deletion endpoint (6 tests), trash purge cron endpoint (8 tests), page versions endpoints (28 tests), and feedback endpoint (19 tests). All routes use `captureApiError` for transient network error classification. Search route uses `retryOnNetworkError` for transient failure resilience. Rate limiting via `withRateLimit` on feedback (5/min), search (30/min), account delete (3/hour), page version create (20/min), page version restore (10/min). All have integration tests with mocked Supabase. Account deletion E2E spec (4 tests). |
28
28
| UI Components | A | 16 shadcn/ui components (base-nova style): alert-dialog, badge, button, card, checkbox, context-menu, dialog, dropdown-menu, input, label, select, separator, sheet, table, textarea, tooltip. Overlay opacity regression test (2 tests). Toast error duration regression test (1 test). Dialog design spec test (3 tests). Global design-spec compliance checks (9 tests): rounded corners (incl. bare `rounded`), hex/RGB/HSL colors, font-family, arbitrary spacing, bg-black/white opacity, text-white/text-black, large text outside editor. Reduced-motion accessibility test (6 tests): verifies prefers-reduced-motion media query in globals.css. Design tokens use oklch color space, --radius: 0 for sharp corners. Visual regression E2E spec (1 test). |
@@ -156,5 +156,6 @@ Tracks code quality per domain. Updated by automations as a side effect of featu
156
156
| 2026-05-14 | Add E2E tests for database table column resize (#1100). Added 1 new E2E spec: `e2e/database-column-resize.spec.ts` (4 tests): drag to increase width, drag to decrease width, minimum width constraint, resizing one column does not affect others. Added `data-testid` to resize handle in `table-column-header.tsx`. Test totals: 142 Vitest files (1909 tests), 81 E2E specs (398 tests). |
157
157
| 2026-05-14 | Filter HeadlessChrome submissions from feedback API (#1097). Updated `feedback/route.test.ts` (20→22): 2 tests for HeadlessChrome UA filter (silent discard without insert, normal UA inserts normally). Test totals: 142 Vitest files (1911 tests), 81 E2E specs (398 tests). |
158
158
| 2026-05-15 | Add E2E tests for database person property type (#1101). Added 1 new E2E spec: `e2e/database-person.spec.ts` (5 tests): open picker and select member, search filters members by name, clear value by deselecting, person value on row detail page, editor closes on Escape. Test totals: 142 Vitest files (1911 tests), 82 E2E specs (403 tests). |
159
+
| 2026-05-15 | Extend axe-core accessibility audit to account and password reset pages (#1110). Added 3 tests to `e2e/accessibility.spec.ts` (10→13): forgot-password, reset-password, account settings. Test totals: 142 Vitest files (1911 tests), 82 E2E specs (406 tests). |
0 commit comments