From 6e2787d792de64c003eff03b62a2df798ef851c0 Mon Sep 17 00:00:00 2001 From: salmonik Date: Thu, 29 Oct 2026 20:43:09 +0100 Subject: v2.3.0: add crash with local multiplier and pushed crash event --- docs/TESTING.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'docs/TESTING.md') diff --git a/docs/TESTING.md b/docs/TESTING.md index ec5c681..3c7fa61 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -14,6 +14,7 @@ shared global database. Each test owns its state. | `tests/client_core.rs` | Client command/game flows via a headless screen applying logical effects. | | `tests/client_ui.rs` | Help, history, completion, bet parsing, display width, cursor math. | | `tests/blackjack.rs` | Card totals, naturals, hit/stand/double, dealer bust, S17, state parsing. | +| `tests/crash.rs` | Multiplier curve, payout floor, crash-point distribution, house edge, cap. | | `tests/protocol.rs` | Newline buffering and timeout/error classification. | | `tests/roulette.rs` | European wheel, split-bet payouts, zero handling, result parser. | | `tests/server_core.rs` | Handler, bcrypt migration, SQL injection, transaction rollback, `plays` audit, sessions. | @@ -93,6 +94,23 @@ Use an 80-column terminal because several output lines are width-sensitive. double), winnings, and the final cards/result in `details`. A forfeit has `result = forfeit`, `winnings = 0`. +## Manual crash checklist + +1. `play crash` shows the ready board with a 1.00x multiplier; Space starts and + reserves the bet. +2. The multiplier rises smoothly with no network traffic. Cash out with C and + confirm the board shows the cashout multiplier, the payout and the new + balance. +3. On another round, press nothing. The board must switch to `CRASHED at Xx` + by itself when the crash point is reached, and the bet must be lost. +4. Press C just as a round crashes. Either it pays or the crashed result wins; + a late cashout must never show an error over a finished round. +5. Q during a live round forfeits the bet; Q when idle just leaves. +6. Check the audit rows: one per round, `game_type = crash`, the reserved bet, + the payout, and `crash_point`/`multiplier`/`result` in `details`. +7. Confirm the crash point is absent from the `CRASH_START` line (it must only + appear once the round is over). + ## Manual server checks - Register, log out, log in again (bcrypt path). -- cgit v1.2.3