Document the test suite in the command and setup docs.

`package.json` has had a `test` script since the interior-polish work landed,
and 12 files under `server/__tests__/` now guard hall geometry, clearance,
brightness, window styles and the movement-links validators. Nothing outside
`data-and-images.md` said the suite existed, and no document said how to run
it — despite Bible.md requiring tests to be written before the code.

FAC.md gains a Tests section between Verify and Build frontend: the command,
what the suite covers by area, and the two properties that make it cheap to
run — no test framework (Node's built-in runner) and no database or server,
since the tests read the client's style and geometry modules from disk.

setup.md lists `npm test` first in the Run table and notes on the Node
prerequisite that the script depends on `node --test` expanding `**` itself.
README.md gets the command beside the dev-server ones, and the interiors
section of data-and-images.md now points at the suite that enforces its rules.

Docs only; no source changes. Verified by running the suite (15 suites, 41
tests, all passing) and by confirming from PowerShell — which does not expand
globs — that the runner does its own pattern matching.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Danila KhodjaefandClaude Opus 5 committed 2026-09-15 22:04:59 +03:00
1 parent 9f96b3835d
commit 72fe45fa52
4 files changed
+34 -1

No files matched your search

+22
View File
@@ -286,6 +286,28 @@ docker login gitea.mysuperlab.netcraze.pro
---
## Tests
```powershell
npm test # whole suite
node --test server/__tests__/floor-brightness.test.js # one file
```
Runs `node --test server/__tests__/**/*.test.js` — **15 suites, 41 tests, ~1 s**. No test framework is installed: this is Node's built-in runner, and `node --test` expands the `**` pattern itself, so the command behaves the same from PowerShell, cmd and bash.
The suite needs **no database and no running server** — the tests read the client's style and geometry modules from disk and call the server's validators directly.
| Area | Test files |
|---|---|
| Hang geometry and clearance | `painting-column-clearance`, `doorway-clearance` |
| Period interiors | `abex-loft-interior`, `baroque-panels`, `dada-interior`, `high-renaissance-interior`, `mannerist-columns`, `neoclassical-interior`, `surrealist-interior` |
| Brightness and windows | `floor-brightness`, `no-factory-windows` |
| Movement links and lineage | `movement-lineage-service` |
**Write the test before the code it covers** — see [Bible.md](Bible.md). The interior rules this suite enforces are described in [data-and-images.md](data-and-images.md).
---
## Build frontend
```powershell