37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# Testing Strategy
|
|
|
|
## Current State
|
|
|
|
- This repo currently has no dedicated test runner configured (no `pnpm test` script in `package.json`).
|
|
- For now, treat `pnpm build` (typecheck + Vite build) as the primary safety net.
|
|
|
|
## Policy (Strong Constraints)
|
|
|
|
- If you change logic in any of the following areas:
|
|
- `src/lib/**`, `src/utils/**`
|
|
- `src/composables/**`
|
|
- `src/services/**`
|
|
- `src/router/**`
|
|
- `src/stores/**`
|
|
- With a test runner available: automated tests are required in the same change, and you must run the relevant test command.
|
|
- Without a test runner: tests are optional but strongly recommended; you must include “Testing Notes” in the PR/commit description explaining risk and manual/alternative checks.
|
|
- Pure UI layout/styling changes may skip tests, but must still pass `pnpm build`.
|
|
|
|
## Agent Checklist (When Changing Code)
|
|
|
|
1. Run `pnpm lint:fix`.
|
|
2. Run `pnpm build` to catch TypeScript + build-time issues.
|
|
3. If a test script exists (e.g. `test`, `test:unit`, `test:e2e`), run the relevant command(s).
|
|
4. For core logic changes, add/adjust tests (see Policy).
|
|
|
|
## What To Test (If Adding Tests Later)
|
|
|
|
- Pure logic/utils: unit tests (fast, deterministic).
|
|
- Composables: unit tests with mocked dependencies.
|
|
- UI components/pages: component tests only for critical interactions; prefer testing behavior over implementation details.
|
|
|
|
## Recommended Tooling (Optional)
|
|
|
|
- Unit/component: Vitest + @vue/test-utils
|
|
- E2E (only if needed): Playwright
|