From 240ae4aaced6b9d2fea60383897ec663b22dc008 Mon Sep 17 00:00:00 2001 From: ruohki Date: Sat, 28 Feb 2026 21:32:29 +0100 Subject: [PATCH] test(01): complete UAT - 7 passed, 1 issue --- .../phases/01-safety-foundation/01-UAT.md | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .planning/phases/01-safety-foundation/01-UAT.md diff --git a/.planning/phases/01-safety-foundation/01-UAT.md b/.planning/phases/01-safety-foundation/01-UAT.md new file mode 100644 index 0000000..3837207 --- /dev/null +++ b/.planning/phases/01-safety-foundation/01-UAT.md @@ -0,0 +1,65 @@ +--- +status: complete +phase: 01-safety-foundation +source: [01-01-SUMMARY.md, 01-02-SUMMARY.md, 01-03-SUMMARY.md] +started: 2026-02-28T21:25:00Z +updated: 2026-02-28T21:35:00Z +--- + +## Current Test + +[testing complete] + +## Tests + +### 1. App launches with placeholder TUI +expected: Running `cargo run` displays a TUI with a "BBS-MD" title in the top border and a welcome message. The terminal enters full-screen raw mode on the main screen buffer. +result: pass + +### 2. Press 'q' to exit with goodbye message +expected: While the TUI is running, pressing 'q' exits the app and displays a BBS-style goodbye box with "CARRIER LOST" text that shows briefly (~500ms) before returning to the shell prompt. +result: pass + +### 3. Single Ctrl+C shows quit prompt +expected: Pressing Ctrl+C once shows a yellow "Press Ctrl+C again to disconnect..." prompt in the TUI. The app does NOT exit yet. +result: pass + +### 4. Double Ctrl+C exits +expected: Pressing Ctrl+C twice within 2 seconds exits the app with the same BBS "CARRIER LOST" goodbye message. +result: pass + +### 5. Quit prompt clears on other key +expected: After pressing Ctrl+C once (seeing the quit prompt), pressing any other key (e.g., a letter or arrow key) dismisses the yellow quit prompt. The app continues running normally. +result: pass + +### 6. Invalid config produces BBS-themed error +expected: Creating a `bbs.toml` (next to the binary in `target/debug/`) with an unknown key like `bogus = true` causes the app to print a "SYSTEM ERROR" message mentioning "SysOp" to stderr and exit with code 1 — without entering the TUI. +result: pass + +### 7. SIGTERM clean exit +expected: While the TUI is running, sending SIGTERM from another terminal (`kill $(pgrep bbs-md)`) causes the app to exit cleanly — no goodbye message, but the terminal is restored to a usable state (cursor visible, typing works normally). +result: pass + +### 8. Terminal restored after exit +expected: After exiting by any method (q, Ctrl+C, SIGTERM), the terminal is fully usable — cursor is visible, text input works, no garbled characters or stuck raw mode. +result: issue +reported: "Upon exiting the app the frame is left in the terminal. Could we use a second buffer or something to render the tui and exit without leaving artifacts?" +severity: minor + +## Summary + +total: 8 +passed: 7 +issues: 1 +pending: 0 +skipped: 0 + +## Gaps + +- truth: "After exiting by any method, the terminal is fully clean — no TUI frame artifacts remain on screen" + status: failed + reason: "User reported: Upon exiting the app the frame is left in the terminal. Could we use a second buffer or something to render the tui and exit without leaving artifacts?" + severity: minor + test: 8 + artifacts: [] + missing: []