Regressie-baseline: Playwright + unit tests voor bestaande sets #59
Labels
No labels
blocked
bug
design
documentation
duplicate
enhancement
future
good first issue
help wanted
invalid
question
refactoring
tracker
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jelmer/topoquiz#59
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Waarom
Voordat we de architectuur uitbreiden voor Geobas 7 & 8 (#58, tech-infra issue, Baltische staten pilot), moeten we eerst een veiligheidsnet leggen rond de bestaande sets. De kritische eis uit het gameplay-plan: bestaande sets (5.4, 5.5, 5.6, 5.7, 6.1–6.7, daily 98, bonus 99) moeten na alle wijzigingen bit-voor-bit hetzelfde werken.
Deze tests fungeren als "het net onder het trapeze": elke feature-commit in de nieuwe tech-infra moet ze groen houden. Anders: stop en fix.
Scope — nieuwe tests
Playwright E2E —
tests/regression-baseline.spec.js(nieuw)Voor elke kritieke bestaande set: start, één vraag beantwoorden, verifiëren dat het huidige gedrag ongewijzigd is.
Unit tests — extra asserties in
test.jsSnapshot-achtige borgingen van invarianten:
loadLevel(54).activeCities.length === ALL_PROVINCES.lengthclickResult(15, 61) === 'correct'(20 km drempel voor zoomed place-sets)clickResult(25, 61) === 'close'clickResult(70, 61) === 'wrong'ALL_CITIES.filter(c => c.sets.includes(61)).length(vaste getal, verandert niet)Acceptatiecriteria
tests/regression-baseline.spec.jsbestaat en draait in CInode test.jsdraait groen met nieuwe assertiesnpm testdraait binnen de bestaande CI-timeoutDependencies
Geen — dit is de eerste stap in de v1.15 pilot werkstroom. Moet af voordat er één regel nieuwe feature-code geschreven wordt.
Gerelateerd
Geïmplementeerd op branch
feature/regression-baseline.Wat er is:
tests/regression-baseline.spec.js— 14 nieuwe Playwright-specs voor set 61 (Overijssel, alle 3 modi + fitOnStart), set 98 (daily: directe MC-start, mastery=1, emoji-grid), set 99 (bonus: start + mastery)test.js— snapshot-borgingen voor stadsaantallen sets 61–67 + expliciete asserties voor set 54/57 pool-groottesScope-correctie t.o.v. de originele issue:
clickResult(distKm, setNumber)enloadLevel()-tests zijn weggelaten — die testen toekomstig gedrag (stap 2/4) en horen niet in de regressie-baseline.Resultaat: 157 unit tests + 50 Playwright tests, alles groen.