Move localStorage.clear() to parent beforeEach to ensure module initialization always starts with clean state. This fixes test isolation where localStorage data from previous tests was being loaded by the module before the nested beforeEach could clear it. The repeated-setting change detection feature is already fully implemented in proactive.js with: - Setting change tracking in localStorage (24h window) - Help prompt after 3+ changes for qualifying settings - Guided calibration flow with false positive and missed motion tests - Value suggestions based on diurnal baseline SNR and link health - Apply suggested value button Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| css | ||
| js | ||
| node_modules | ||
| test-results | ||
| tests | ||
| ambient.html | ||
| fleet.html | ||
| help_articles.json | ||
| index.html | ||
| integrations.html | ||
| jest.config.js | ||
| live.html | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.js | ||
| README.md | ||
| setup.html | ||
Spaxel Dashboard
Running Tests
Unit Tests (Jest)
npm test
Accessibility Tests (axe-core + Playwright)
# First-time setup: install browsers
npx playwright install --with-deps chromium
# Run accessibility gate
npm run test:a11y
The accessibility test loads each dashboard page (index, live, fleet, setup, integrations) via a local static server and asserts zero WCAG 2A/2AA violations using @axe-core/playwright. CI fails the build if any violation is introduced.
CI Integration (Argo Workflows)
Add the following step to the spaxel-build WorkflowTemplate before the container build:
- name: a11y-gate
container:
image: node:20-bookworm-slim
command: [sh, -c]
args:
- |
cd dashboard
npm ci
npx playwright install --with-deps chromium
npm run test:a11y
resources:
limits:
memory: 512Mi
cpu: "1"