Record what the printer did, not just what the UI displayed. Mark a case blocked when the required printer, configuration, or safe test condition is unavailable.
Saved checklist data could not be restored. You can export the current blank checklist or use Reset to remove the saved data.
Use Pass only after observing the expected result. Fail needs enough evidence to reproduce it. Include response text, log markers, or firmware behavior in the note.
Expected: the Device tab receives a fresh status update after connection. Do not use a successful connection return alone as the result.
Expected: temperature and target changes, fan state, print state, filename, progress, elapsed time, and homing state reach the UI while the printer changes state.
Expected: a second connection produces new status messages and does not create a duplicate device. Record the post-reconnect status evidence.
Expected: for discovery, status, G-code, upload, and print start, exercise controlled HTTP 401, 404, and 500 responses, invalid JSON, and refused sockets. Each operation must fail clearly or offer a retry, without a crash or a false success. Record the operation, injected failure, UI result, and any retry.
Expected: home, bed and nozzle temperature, and a harmless G-code command take effect on the printer. Do not use Moonraker jog as a safe control test while it can leave relative positioning active.
Expected: queue three harmless, uniquely marked commands while a proxy, network shaper, or request log introduces or records latency. The printer-side log must show the markers in the same order they were queued. Record the latency method and observed order.
Expected: the file appears on the printer and no print starts.
Expected: upload completes, the printer starts the selected file, and status transitions to printing.
Expected: after the small print is actively printing, pause it and observe a paused state on both printer and UI; resume it and observe printing again; then cancel it and observe the printer stop and the UI leave the active or paused state.
Expected: cancellation during upload and a missing input fail clearly and do not begin a partial or unintended print.
Expected: populated slots, empty slots, material, colour, and a live change are represented correctly. Moonraker-family agents pull this data; do not expect a subscription callback.
Expected: remove filament or disable the material system, refresh, and confirm the UI no longer shows obsolete slots, material names, or colours.
Expected: only agents with a documented mapping implementation change printer-side mapping. Do not attempt load, unload, or slot-setting macros unless their printer-specific contract is known and safe.
Expected: on a Qidi agent and compatible single-nozzle slice, Send proceeds when the
Device tab has no reported nozzle diameter or type. It must not stop with
PrintStatusNozzleDataInvalid. Record any reported identity and any mismatch
result separately; this does not approve a known mismatch.
Expected: frames advance and switching printers does not display a stale feed. For Snapmaker,
observe immediately before and after 300 seconds in one open view. The renewal result is
unknown until hardware evidence exists. Then swap agents and shut down the app to exercise
teardown around the detached callback's raw-this lifetime risk.
Expected: test a reused filename after its thumbnail changes, response payloads with both
thumbnail_path and relative_path, and a path below the G-code
root. The displayed image must match the current file in each case.
Expected: the capability registers once, duplicate agent IDs are rejected visibly, and disable or unload removes the agent cleanly.