Files
familienarchiv/frontend/scripts/README.md
Marcel 36bd7e0414 chore(stammbaum): add /api/network capture script + canonical fixture (#361)
Local-only developer utility that authenticates against the running backend,
captures the current /api/network snapshot, and writes it to
src/lib/person/genealogy/__fixtures__/stammbaum.json. Sanity gates exit
non-zero on a vacuous capture (< 50 nodes, < 5 generations, 0 SPOUSE_OF
edges). Fixture and script land together so the fixture is reproducible from
the script that generated it.

Captured snapshot: 62 nodes, 43 edges, 28 SPOUSE_OF (0 with fromYear),
generations G0-G4. Albert de Gruyter is the canonical multi-spouse case with
4 marriages.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 19:55:30 +02:00

1.4 KiB

frontend/scripts/

One-off developer utilities. Each script is local-only and never invoked from CI. Re-run intentionally when needed; commit any generated artefacts as a separate, atomic commit.

Script Purpose
capture-network-fixture.mjs Capture the canonical GET /api/network response into src/lib/person/genealogy/__fixtures__/stammbaum.json. Used by buildLayout.test.ts. Re-capture when the production family graph grows a new structural case (new edge type, new marriage configuration).

Usage

cd frontend
node scripts/capture-network-fixture.mjs

Defaults to BACKEND_URL=http://localhost:8080 and the dev admin credentials. Override via env vars (BACKEND_URL, CAPTURE_EMAIL, CAPTURE_PASSWORD).

The script exits non-zero if the captured fixture would be vacuous (fewer than 100 nodes, fewer than 5 generations, or zero SPOUSE_OF edges).