diff --git a/.planning/phases/16-api-migration/16-UAT.md b/.planning/phases/16-api-migration/16-UAT.md new file mode 100644 index 0000000..68e1663 --- /dev/null +++ b/.planning/phases/16-api-migration/16-UAT.md @@ -0,0 +1,97 @@ +--- +status: complete +phase: 16-api-migration +source: 16-01-SUMMARY.md, 16-02-SUMMARY.md, 16-03-SUMMARY.md, 16-04-SUMMARY.md, 16-05-SUMMARY.md, 16-06-SUMMARY.md +started: 2026-02-09T16:00:00Z +updated: 2026-02-09T16:10:00Z +--- + +## Current Test + + +[testing complete] + +## Tests + +### 1. View Container List +expected: Send a status/list command to the bot. You see a list of containers with names and states (running/stopped). Response completes within a few seconds. +result: pass + +### 2. View Container Status Submenu +expected: Tap a container from the list. You see a detail submenu showing the container's name, state, and action buttons (Start/Stop/Restart/Update). +result: pass + +### 3. Start a Stopped Container +expected: From a stopped container's submenu, tap Start. You see a success message confirming the container was started. +result: pass + +### 4. Stop a Running Container +expected: From a running container's submenu, tap Stop. You see a success message confirming the container was stopped. +result: pass + +### 5. Restart a Container +expected: From a container's submenu, tap Restart. You see a success message confirming the container was restarted (internally this is a stop + start sequence). +result: pass + +### 6. Start an Already-Running Container +expected: From an already-running container's submenu, tap Start. You see a message like "already started" (NOT an error). This is idempotent behavior. +result: pass +note: UI correctly hides Start button when container is already running — no idempotent case possible via UI + +### 7. Update a Single Container +expected: From a container's submenu, tap Update. The bot begins updating the container. You see a result message indicating success (updated) or "already up to date" if no update was available. +result: issue +reported: "This does not work. It gets past the confirmation window but then there are execution errors on the main flow and container update flows" +severity: blocker + +### 8. Batch Container Selection UI +expected: Trigger the batch selection flow (e.g. batch/update-all command). You see an inline keyboard listing containers with checkboxes. You can toggle containers on/off and navigate pages if many containers exist. +result: issue +reported: "Batch selection works, but the cancel button on the batch confirmation does not work" +severity: major + +### 9. Text Command: Action on Container +expected: Send a text command like "start plex" or "stop sonarr". The bot performs the action and returns a success/error message — same behavior as the inline keyboard path. +result: issue +reported: "Start and stop text commands do not work, and additionally batch text command confirmation dialog has no actionable buttons to proceed" +severity: blocker + +## Summary + +total: 9 +passed: 6 +issues: 3 +pending: 0 +skipped: 0 + +## Gaps + +- truth: "User can update a single container via inline keyboard and see success/up-to-date message" + status: failed + reason: "User reported: This does not work. It gets past the confirmation window but then there are execution errors on the main flow and container update flows" + severity: blocker + test: 7 + root_cause: "" + artifacts: [] + missing: [] + debug_session: "" + +- truth: "Cancel button on batch confirmation returns user to previous state" + status: failed + reason: "User reported: Batch selection works, but the cancel button on the batch confirmation does not work" + severity: major + test: 8 + root_cause: "" + artifacts: [] + missing: [] + debug_session: "" + +- truth: "Text commands (start/stop) perform actions and batch text command shows actionable confirmation" + status: failed + reason: "User reported: Start and stop text commands do not work, and additionally batch text command confirmation dialog has no actionable buttons to proceed" + severity: blocker + test: 9 + root_cause: "" + artifacts: [] + missing: [] + debug_session: ""