documentatie

This commit is contained in:
2026-09-03 17:24:56 +02:00
parent e971dfe942
commit 42fcea9af8
14 changed files with 135 additions and 16 deletions
+3 -1
View File
@@ -6,7 +6,7 @@ De backendfuncties zijn meestal procedureel en krijgen `config` expliciet mee. D
Versie 0.2.93 introduceert wel tests in `architecture/import.rkt`. Die controleren de manifestset, interne paginalinks, CMap-embeds, unieke node-id's, connector-endpoints en de bronmarkeringen waarmee lokaal gewijzigde importinhoud wordt beschermd. Dit is een begin, geen voldoende dekking van de wiki.
Versie 0.2.100 voegt pure Node-tests toe voor de Markdown-export: dieptebegrenzing, cycli, optionele wikipagina's, persoonstags, leesbare relaties en afgeleide sub-CMapweergaven. De extractie van persoonsnamen uit CMap-documenten heeft daarnaast een kleine RackUnit-test; database- en browsergedrag blijven integratietestwerk.
De Node-suite bevat 83 tests voor het CMap-model, repositorycontracten, import/export, connectorherbedrading, selectie-layout, lagen, historie, submapnavigatie, instellingen en Markdown-transformaties. De tests draaien zonder bundler met `node --test test/*.test.js test/*.test.mjs`. Database- en volledig browsergedrag blijven integratietestwerk.
Versie 0.2.115 voegt pure roundtrip- en validatietests toe voor het JSON-uitwisselingsformaat. Zij controleren dat coördinaten, afmetingen, kleuren, typografie, groepering en connectoren in de diagramlaag blijven, dat gedeelde conceptinhoud apart wordt opgeslagen en bij import wordt teruggekoppeld, en dat losse concepten, dubbele namen/slugs en ongeldige connector-endpoints worden geweigerd.
@@ -51,6 +51,8 @@ Introduceer geen groot mockframework. Gewone procedures en expliciete parameters
Voor frontendcode zijn browsercomponenttests met een echte DOM geschikter dan het namaken van ieder element. De CMap-adapter moet met een klein vast document getest kunnen worden zonder de hele wiki te starten.
De CMap-controllers zijn bewust via kleine constructorcontracten te testen. Nieuwe gedragstests horen primair bij de eigenaar: documentwijzigingen bij de editorcontrollers, autosave en conflicten bij `CmapStorageController`, routecontext bij `CmapNavigationController`, kaartworkflows bij `CmapMapController` en conceptdialogen, selectie en namespace-migratie bij `CmapConceptController`. Een workspace-test is alleen nodig voor de koppeling van deze grenzen of voor een daadwerkelijk DOM-gebaseerde gebruikersflow.
De JavaScript-regressietest `test/cmap-connector-rewire.test.js` simuleert het verslepen van een
connector naar een andere verbindingszin, klapt de submap in en uit en controleert daarna zowel de
tekenlaag als de geserialiseerde `sourceId`.