A reliable testing setup needed to be in place before feature work starts, covering both plain unit tests and real-browser component tests, without relying on inconsistent local browser installations across contributors.
What was done
Configured Vitest as the single test runner for both unit tests (*.unit.test.ts) and component/browser tests (*.cmp.test.tsx), per ADR-0002
Integrated Playwright as Vitest's browser provider (@vitest/browser-playwright) for real-browser component testing
Containerized the browser test execution (Dockerfile.test, docker-compose.test.yaml) so tests run in an identical, reproducible environment locally and in CI
Set up the accessibility testing utilities (src/testing/a11y) with axe-core integration, per ADR-0005
Outcome
pnpm test:unit, pnpm test:component, and pnpm test all runnable locally and reproducibly via Docker
Documented in the Technology Architecture (Section 6.6, "Test Execution Environment")
## Context
A reliable testing setup needed to be in place before feature work starts, covering both plain unit tests and real-browser component tests, without relying on inconsistent local browser installations across contributors.
## What was done
- Configured Vitest as the single test runner for both unit tests (`*.unit.test.ts`) and component/browser tests (`*.cmp.test.tsx`), per ADR-0002
- Integrated Playwright as Vitest's browser provider (`@vitest/browser-playwright`) for real-browser component testing
- Containerized the browser test execution (`Dockerfile.test`, `docker-compose.test.yaml`) so tests run in an identical, reproducible environment locally and in CI
- Set up the accessibility testing utilities (`src/testing/a11y`) with axe-core integration, per ADR-0005
## Outcome
- `pnpm test:unit`, `pnpm test:component`, and `pnpm test` all runnable locally and reproducibly via Docker
- Documented in the Technology Architecture (Section 6.6, "Test Execution Environment")
## Related
- `packages/luna-charts/vitest.config.ts`
- `Dockerfile.test`, `docker-compose.test.yaml`
- `docs/.../architecture/adm/technology-architecture.mdx`
Ninosaurier
added this to the v0.2.0 - Phase 2: Foundation milestone 2026-07-22 21:18:10 +00:00
Ninosaurier
self-assigned this 2026-07-22 21:18:10 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
A reliable testing setup needed to be in place before feature work starts, covering both plain unit tests and real-browser component tests, without relying on inconsistent local browser installations across contributors.
What was done
*.unit.test.ts) and component/browser tests (*.cmp.test.tsx), per ADR-0002@vitest/browser-playwright) for real-browser component testingDockerfile.test,docker-compose.test.yaml) so tests run in an identical, reproducible environment locally and in CIsrc/testing/a11y) with axe-core integration, per ADR-0005Outcome
pnpm test:unit,pnpm test:component, andpnpm testall runnable locally and reproducibly via DockerRelated
packages/luna-charts/vitest.config.tsDockerfile.test,docker-compose.test.yamldocs/.../architecture/adm/technology-architecture.mdx