diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-29 20:43:09 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-29 20:43:09 +0100 |
| commit | 6e2787d792de64c003eff03b62a2df798ef851c0 (patch) | |
| tree | 0e9bf97b2f71df5fb9eb00d5195d32b8326886ff /docs/TESTING.md | |
| parent | v2.2.1: forfeit blackjack bets when leaving or disconnecting (diff) | |
| download | zagan-bet-6e2787d792de64c003eff03b62a2df798ef851c0.tar.gz zagan-bet-6e2787d792de64c003eff03b62a2df798ef851c0.zip | |
v2.3.0: add crash with local multiplier and pushed crash event
Diffstat (limited to '')
| -rw-r--r-- | docs/TESTING.md | 18 |
1 files changed, 18 insertions, 0 deletions
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. | |||
| 14 | | `tests/client_core.rs` | Client command/game flows via a headless screen applying logical effects. | | 14 | | `tests/client_core.rs` | Client command/game flows via a headless screen applying logical effects. | |
| 15 | | `tests/client_ui.rs` | Help, history, completion, bet parsing, display width, cursor math. | | 15 | | `tests/client_ui.rs` | Help, history, completion, bet parsing, display width, cursor math. | |
| 16 | | `tests/blackjack.rs` | Card totals, naturals, hit/stand/double, dealer bust, S17, state parsing. | | 16 | | `tests/blackjack.rs` | Card totals, naturals, hit/stand/double, dealer bust, S17, state parsing. | |
| 17 | | `tests/crash.rs` | Multiplier curve, payout floor, crash-point distribution, house edge, cap. | | ||
| 17 | | `tests/protocol.rs` | Newline buffering and timeout/error classification. | | 18 | | `tests/protocol.rs` | Newline buffering and timeout/error classification. | |
| 18 | | `tests/roulette.rs` | European wheel, split-bet payouts, zero handling, result parser. | | 19 | | `tests/roulette.rs` | European wheel, split-bet payouts, zero handling, result parser. | |
| 19 | | `tests/server_core.rs` | Handler, bcrypt migration, SQL injection, transaction rollback, `plays` audit, sessions. | | 20 | | `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. | |||
| 93 | double), winnings, and the final cards/result in `details`. A forfeit has | 94 | double), winnings, and the final cards/result in `details`. A forfeit has |
| 94 | `result = forfeit`, `winnings = 0`. | 95 | `result = forfeit`, `winnings = 0`. |
| 95 | 96 | ||
| 97 | ## Manual crash checklist | ||
| 98 | |||
| 99 | 1. `play crash` shows the ready board with a 1.00x multiplier; Space starts and | ||
| 100 | reserves the bet. | ||
| 101 | 2. The multiplier rises smoothly with no network traffic. Cash out with C and | ||
| 102 | confirm the board shows the cashout multiplier, the payout and the new | ||
| 103 | balance. | ||
| 104 | 3. On another round, press nothing. The board must switch to `CRASHED at Xx` | ||
| 105 | by itself when the crash point is reached, and the bet must be lost. | ||
| 106 | 4. Press C just as a round crashes. Either it pays or the crashed result wins; | ||
| 107 | a late cashout must never show an error over a finished round. | ||
| 108 | 5. Q during a live round forfeits the bet; Q when idle just leaves. | ||
| 109 | 6. Check the audit rows: one per round, `game_type = crash`, the reserved bet, | ||
| 110 | the payout, and `crash_point`/`multiplier`/`result` in `details`. | ||
| 111 | 7. Confirm the crash point is absent from the `CRASH_START` line (it must only | ||
| 112 | appear once the round is over). | ||
| 113 | |||
| 96 | ## Manual server checks | 114 | ## Manual server checks |
| 97 | 115 | ||
| 98 | - Register, log out, log in again (bcrypt path). | 116 | - Register, log out, log in again (bcrypt path). |
