diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-29 18:22:40 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-29 18:22:40 +0100 |
| commit | b5a52fc0312afdf5d5fbe53275dc88d6d881c2ff (patch) | |
| tree | d12e3c7f6c23ae1698199d16ee763551edfd8c12 /docs/TESTING.md | |
| parent | v2.1.2: ignore ANSI when measuring board height (diff) | |
| download | zagan-bet-b5a52fc0312afdf5d5fbe53275dc88d6d881c2ff.tar.gz zagan-bet-b5a52fc0312afdf5d5fbe53275dc88d6d881c2ff.zip | |
v2.2.0: add blackjack with reserved bets and hit/stand/double
Diffstat (limited to 'docs/TESTING.md')
| -rw-r--r-- | docs/TESTING.md | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/TESTING.md b/docs/TESTING.md index d944b42..ed2f746 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md | |||
| @@ -13,6 +13,7 @@ shared global database. Each test owns its state. | |||
| 13 | | --- | --- | | 13 | | --- | --- | |
| 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/protocol.rs` | Newline buffering and timeout/error classification. | | 17 | | `tests/protocol.rs` | Newline buffering and timeout/error classification. | |
| 17 | | `tests/roulette.rs` | European wheel, split-bet payouts, zero handling, result parser. | | 18 | | `tests/roulette.rs` | European wheel, split-bet payouts, zero handling, result parser. | |
| 18 | | `tests/server_core.rs` | Handler, bcrypt migration, SQL injection, transaction rollback, `plays` audit, sessions. | | 19 | | `tests/server_core.rs` | Handler, bcrypt migration, SQL injection, transaction rollback, `plays` audit, sessions. | |
| @@ -79,6 +80,18 @@ Use an 80-column terminal because several output lines are width-sensitive. | |||
| 79 | 6. The result board shows the winning number/color/parity, the payout, and the | 80 | 6. The result board shows the winning number/color/parity, the payout, and the |
| 80 | new balance. The next spin reuses the placed bets. | 81 | new balance. The next spin reuses the placed bets. |
| 81 | 82 | ||
| 83 | ## Manual blackjack checklist | ||
| 84 | |||
| 85 | 1. `play blackjack` shows the ready board; Space deals. | ||
| 86 | 2. The dealer's hole card is hidden while it is the player's turn. H/S/D work; | ||
| 87 | D is only offered on the first two cards and reserves the extra bet. | ||
| 88 | 3. Stand and check the dealer stands on all 17s. Check a dealer bust pays the | ||
| 89 | player, and a natural blackjack pays 3:2. | ||
| 90 | 4. Q during a hand sends cancel and refunds the reserved bet; Q after a hand | ||
| 91 | just leaves. Disconnecting mid-hand also refunds it. | ||
| 92 | 5. Check the audit row: `game_type = blackjack`, the total bet (including a | ||
| 93 | double), winnings, and the final cards/result in `details`. | ||
| 94 | |||
| 82 | ## Manual server checks | 95 | ## Manual server checks |
| 83 | 96 | ||
| 84 | - Register, log out, log in again (bcrypt path). | 97 | - Register, log out, log in again (bcrypt path). |
