mirror of
https://github.com/willchen96/mike.git
synced 2026-07-24 23:41:04 +02:00
docs: testing policy in CONTRIBUTING + PR template with verification checklist
Adds a Testing section documenting every suite the testing PR series introduces (unit/integration via vitest, Playwright e2e, offline evals, gated real-Supabase stack tests), the expectation that changes carry tests at the lowest layer that catches the regression, and a PR template (ported from the amal66 fork, Open-Legal-Products/mike#205) whose checklist asks how the change was verified. Intended as the capstone of the series — the commands it documents are introduced by the sibling test PRs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
dafac6b0a4
commit
15b7b4c925
2 changed files with 49 additions and 0 deletions
30
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
30
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
## Summary
|
||||
|
||||
<!-- What does this PR do, in one or two sentences? -->
|
||||
|
||||
## Why / Motivation
|
||||
|
||||
<!-- What problem does this solve? Why now, and why this approach?
|
||||
Link the issue or context that prompted it. -->
|
||||
|
||||
## Changes
|
||||
|
||||
<!-- The notable changes, at a high level. Describe the outcome, not the diff. -->
|
||||
|
||||
## Tradeoffs & risks
|
||||
|
||||
<!-- What did you weigh? What could break, what's out of scope, and what
|
||||
follow-ups (if any) does this leave behind? Note any security or
|
||||
migration implications. -->
|
||||
|
||||
## How verified
|
||||
|
||||
<!-- How do you know this works? Tests added/run, manual steps, commands,
|
||||
screenshots. Include the exact commands where relevant. -->
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] Ran the relevant build/test command for the area changed.
|
||||
- [ ] Reviewed `git diff` and removed unrelated changes.
|
||||
- [ ] Updated docs / env examples if setup, config, or behavior changed.
|
||||
- [ ] No secrets, API keys, real documents, or `.env` files committed.
|
||||
|
|
@ -54,3 +54,22 @@ Frontend:
|
|||
```bash
|
||||
npm run build --prefix frontend
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
npm test --prefix backend # backend unit + route integration tests (vitest)
|
||||
npm test --prefix frontend # frontend component/hook tests (vitest + jsdom)
|
||||
npm run test:e2e # Playwright end-to-end suite — see docs/e2e-ci.md
|
||||
node evals/run.mjs --threshold 1.0 # offline eval harness (no network, no API keys)
|
||||
npm run test:stack --prefix backend # gated: real-Supabase auth/access tests (run `supabase start` first)
|
||||
```
|
||||
|
||||
- New features and bug fixes should come with a test at the lowest layer that
|
||||
can catch the regression: unit first, then route-level integration, then
|
||||
end-to-end only for flows a browser is genuinely needed to prove.
|
||||
- CI runs the build, unit/integration tests, and the eval harness on every PR
|
||||
(`.github/workflows/ci.yml`), and the Playwright suite in a full local stack
|
||||
(`.github/workflows/e2e.yml`).
|
||||
- Tests that need a live Supabase or an LLM key are env-gated and skip cleanly
|
||||
when the environment is absent — a plain `npm test` should always be green.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue