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
+1 -1
View File
@@ -1,5 +1,5 @@
# Circular Dependencies
Generated: 2026-05-20T10:36:04.388Z
Generated: 2026-05-20T11:01:19.491Z
Found: 1 circular chain(s) — these MUST be fixed before modifying involved files.
1. Processed 125 files (1.3s) (4 warnings)
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_meta": {
"generated": "2026-05-20T10:36:02.953Z",
"generated": "2026-05-20T11:01:18.069Z",
"description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.",
"usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry."
},
+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