test: add store action and cross-store tick integration tests; fix pact ritual double-counting bug
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m16s

- Add test-setup.ts: shared test environment setup helper for tick integration tests
- Add combat-store.test.ts (24 tests): setCurrentFloor, advanceFloor, setFloorHP, setMaxFloorReached, setAction, setSpell, setCastProgress, learnSpell, setSpellState, debugSetFloor, resetFloorHP, resetCombat, climbDownFloor, exitSpireMode
- Add mana-store.test.ts (36 tests): setRawMana, addRawMana, spendRawMana, gatherMana, convertMana, unlockElement, addElementMana, spendElementMana, craftComposite, processConvertAction, resetMana, meditation ticks, setElementMax
- Add tick-integration.test.ts (19 tests): time progression, mana regeneration, incursion penalty, meditation, loop end, paused/game over states
- Add tick-integration-pact.test.ts (9 tests): victory condition, pact ritual progress, multiple ticks accumulation
- Add tick-debug.test.ts (3 debug tests): regen trace, pact ritual trace, persist leak check
- Fix bug in gameStore.ts: updatePactRitualProgress was called with absolute newProgress instead of incremental HOURS_PER_TICK, causing exponential progress accumulation
- All 422 tests pass (18 test files), all files under 400-line limit
This commit is contained in:
2026-05-20 15:20:42 +02:00
parent a49b8a8bef
commit df316c2865
12 changed files with 1375 additions and 4 deletions
+9 -1
View File
@@ -190,15 +190,23 @@ Mana-Loop/
│ │ │ ├── store-method-tests/
│ │ │ ├── achievements.test.ts
│ │ │ ├── bug-fixes.test.ts
│ │ │ ├── combat-store.test.ts
│ │ │ ├── combat-utils.test.ts
│ │ │ ├── computed-stats.test.ts
│ │ │ ├── discipline-math.test.ts
│ │ │ ├── discipline-store.test.ts
│ │ │ ├── enemy-generator.test.ts
│ │ │ ├── floor-utils.test.ts
│ │ │ ├── formatting.test.ts
│ │ │ ├── mana-store.test.ts
│ │ │ ├── mana-utils.test.ts
│ │ │ ├── prestige-store.test.ts
│ │ │ ├── regression-fixes.test.ts
│ │ │ ── spire-utils.test.ts
│ │ │ ── spire-utils.test.ts
│ │ │ ├── test-setup.ts
│ │ │ ├── tick-debug.test.ts
│ │ │ ├── tick-integration-pact.test.ts
│ │ │ └── tick-integration.test.ts
│ │ ├── constants/
│ │ │ ├── spells-modules/
│ │ │ │ ├── advanced-spells.ts