chore: release v0.20.42
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: tests
|
||||
description: Rules for integration test files at project root
|
||||
paths:
|
||||
- oikos/test-*.js
|
||||
---
|
||||
|
||||
- File names match the pattern `test-<module>.js` and live at the project root alongside `package.json`.
|
||||
- Every test file has a matching npm script `test:<module>` in `package.json`. The `test` aggregate script runs them all. When you add a new `test-*.js`, add it to both places.
|
||||
- Runner is `node --test` (built-in, Node ≥22). Scripts that hit the DB pass `--experimental-sqlite`.
|
||||
- Database in tests is an in-memory `better-sqlite3` instance built via the same `buildSchema` path used by production. Never mock `better-sqlite3`. Never stub out migrations. If a test needs seed data, insert it through normal route handlers or the same queries prod uses.
|
||||
- Assertions via `node:assert/strict`. Imports use `import` syntax. No `require`.
|
||||
- Tests must be deterministic. No network calls, no real filesystem writes outside `os.tmpdir()`, no `Date.now()` without faking.
|
||||
- A failing test is a real failure. Don't wrap in `t.skip` or comment out to make CI green.
|
||||
Reference in New Issue
Block a user