Commit graph

2 commits

Author SHA1 Message Date
968a38dd87 fix(tests): use per-test in-memory DB to prevent shared state conflicts
The testDB() function used cache=shared which caused UNIQUE constraint
failures when multiple tests seeded the same chip_sets row.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:16:50 +01:00
51153df8dd feat(01-06): implement financial transaction engine
- ProcessBuyIn with late registration cutoff and admin override
- ProcessRebuy with limit, level/time cutoff, and chip threshold checks
- ProcessAddOn with window validation and single-use enforcement
- ProcessReEntry requiring busted status with player reactivation
- ProcessBountyTransfer with PKO half-split and fixed bounty modes
- UndoTransaction reversing all financial effects
- IsLateRegistrationOpen checking both level AND time cutoffs
- GetSeasonReserves for season withholding tracking
- Rake split transactions per category (house, staff, league, season_reserve)
- Full audit trail integration for every transaction
- WebSocket broadcast for real-time updates
- 14 passing tests covering all flows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 04:11:58 +01:00