summaryrefslogtreecommitdiffstats
path: root/docs/TESTING.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/TESTING.md18
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
991. `play crash` shows the ready board with a 1.00x multiplier; Space starts and
100 reserves the bet.
1012. 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.
1043. 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.
1064. 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.
1085. Q during a live round forfeits the bet; Q when idle just leaves.
1096. Check the audit rows: one per round, `game_type = crash`, the reserved bet,
110 the payout, and `crash_point`/`multiplier`/`result` in `details`.
1117. 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).