Commit Graph

10 Commits

Author SHA1 Message Date
n8n-gitea 3383aedd2f fix: refactor enchanter and fabricator e2e tests
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
Enchanter test:
- Use data-testid selectors for debug buttons
- Add waitForBridge pattern
- Switch baseURL to localhost:3000

Fabricator test:
- Use data-testid selectors for all debug buttons (attunements, elements, disciplines, materials)
- Activate discipline via toggle button before adding XP
- Unlock recipes via discipline XP + store unlockRecipes
- Replace waitForTimeout with runTicks for crafting (instant tick-based waiting)
- Add ticksForHours helper for deterministic craft completion
- Verify each craft completed via store check instead of currentAction polling
- Remove direct store manipulation for attunement/element unlock (use debug UI buttons)
2026-06-02 16:39:33 +02:00
n8n-gitea e95a378731 fix: activate discipline before adding XP in e2e test
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m22s
- Disciplines section starts collapsed: click header to expand
- Raw Mana Mastery must be activated before XP can be added (handleAddXP bails if discipline not in store)
- Also needed because debugBridge changes require a fresh build (dev server was stale)
2026-06-02 16:00:28 +02:00
n8n-gitea 0e7ff203b6 fix: improve combat-happy-path e2e test reliability and speed
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m24s
- Add data-testid attributes to debug tab buttons (Fill Mana, +10K, +1K, discipline rows)
- Add runTicks(n) to debugBridge for fast-forwarding game ticks in E2E tests
- Fix Step 2: use data-testid selectors instead of fragile DOM traversal for discipline buttons
- Fix Step 4: replace 120s waitForTimeout with runTicks(6000) for deterministic combat
- Fix Step 5: replace 60s waitForTimeout with runTicks(3000)
- Fix Step 6: verify floor decrements after each Climb Down click using waitForFunction
- Fix Step 7: verify Exit Spire button visibility is gated on floor 1
- Remove leftover debug logging (btnInfo DOM inspection)
2026-06-02 15:46:28 +02:00
n8n-gitea e71ba312fe test: add combat happy-path e2e test; fix SpireCombatPage infinite render loop
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m22s
2026-06-02 13:54:52 +02:00
n8n-gitea fe78ae047f feat: rewrite fabricator e2e test with debug bridge for store access
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m22s
- Rewrite e2e/fabricator-happy-path.spec.ts from scratch:
  craft 8 gear pieces (1 per slot) via Fabricator UI,
  equip all via store bridge, verify equipment effects
- Add debugBridge.ts: exposes Zustand stores on window.__TEST__
  so Playwright can call store actions via page.evaluate()
- Import debugBridge in page.tsx as side-effect
- Uses Debug tab UI for attunement/element unlocking
- Uses store bridge for discipline XP, mana capacity, materials,
  recipe unlocking, and equipment slot assignment
- Test passes in ~3.5 minutes (155s craft time + setup)
2026-06-02 10:49:38 +02:00
n8n-gitea 63516ba39f test: add enchanter happy-path e2e test for Design → Prepare → Apply UI workflow
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s
2026-05-31 20:23:42 +02:00
n8n-gitea 0232f2ac85 fix: meditation multiplier cap 2.5x, discipline reactivation, Spire crash, earthShard recipe, fabricator E2E test
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 4m53s
2026-05-31 16:12:47 +02:00
n8n-gitea 4f229cdd86 desloppify
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s
2026-05-30 16:30:32 +00:00
n8n-gitea 48a5ad1855 fix: 6 priority-3 bug fixes with regression tests
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m24s
- Issue 83: Mana Tide pulse factor now ranges 0.5x-1.5x (was 0.5x-1.0x)
- Issue 82: SteadyStream no longer returns early like EternalFlow; only skips incursion penalty
- Issue 81: Prestige store partialize now includes defeatedGuardians, signedPacts, signedPactDetails, pactRitualFloor, pactRitualProgress, loopInsight, pactSlots
- Issue 80: Combat store partialize now includes floorHP, floorMaxHP, castProgress, spireMode, clearedFloors, golemancy, equipmentSpellStates, activityLog, achievements
- Issue 78: cancelDesign now always cancels designProgress first, then designProgress2
- Issue 79: startDesigningEnchantment now uses designProgress2 when designProgress is occupied

Added 13 regression tests in src/lib/game/__tests__/regression-fixes.test.ts
Refactored craftingStore types to craftingStore.types.ts to stay under 400-line limit
2026-05-19 11:19:10 +02:00
n8n-gitea 47b2a0bdc7 feat: TASK-001 - Playwright E2E test setup + baseline tests
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 33s
- Added @playwright/test as dev dependency
- Created playwright.config.ts with Chromium config and webServer setup
- Created e2e/combat.spec.ts (5 tests for spire mode, floor display)
- Created e2e/enchanting.spec.ts (4 tests for design/crafting tab, enchant flow)
- Created e2e/equipment.spec.ts (5 tests for equip, slots, 2H blocking)
- Created docs/tasks/TASK-001-playwright-setup.md
- All 13 E2E tests passing
2026-05-11 13:25:57 +02:00