From 6d9908b29c8187196d23b126b1165c7e0bd0fc76 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 1 Oct 2026 19:30:38 -0400 Subject: fix: casino pai gow sorting, universal unbet, table/rules split, remove solo timers --- internal/game/render_roulette_tracker_test.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'internal/game/render_roulette_tracker_test.go') diff --git a/internal/game/render_roulette_tracker_test.go b/internal/game/render_roulette_tracker_test.go index a629b57..b05a2be 100644 --- a/internal/game/render_roulette_tracker_test.go +++ b/internal/game/render_roulette_tracker_test.go @@ -105,7 +105,7 @@ func TestRouletteTrackerAboveBettingBoardsOnly(t *testing.T) { } } -func TestRouletteRulesUseLiveHistory(t *testing.T) { +func TestRouletteTableShowsLiveHistory(t *testing.T) { g := &Game{Casino: casino.NewManager(7)} p := player.New("alice") p.RoomID, p.Credits = 1, 100 @@ -116,8 +116,20 @@ func TestRouletteRulesUseLiveHistory(t *testing.T) { g.Casino.Bet(1, "r", p.Name, "red", 1, casinoWallet{g: g, p: p, saveCharacter: func(*player.Player) error { return nil }}) g.Casino.Tick() g.Casino.Tick() - art := g.renderCasinoRules(sess, cfg) + // The table command renders the live status snapshot, which carries the + // tracker's completed-spin history. + var snap *casino.RouletteSnapshot + for _, event := range g.Casino.Table(1, "r").Status(p.Name) { + if view, ok := event.Snapshot.(*casino.RouletteSnapshot); ok && view.Phase != "result" { + snap = view + break + } + } + if snap == nil { + t.Fatal("no live roulette snapshot") + } + art := g.renderCasinoSnapshot(sess, snap) if !strings.Contains(art, "History: last 1 spin") || strings.Contains(art, "awaiting the first spin") { - t.Fatalf("rules did not show live history:\n%s", art) + t.Fatalf("table did not show live history:\n%s", art) } } -- cgit v1.2.3