Files
cleveragents-core/robot/tui_interface.robot
freemo e7df15d453 feat(ui): add TUI/Web interface
Implement UI data-provider interface backed by local services.
Add Textual-based TUI with plan list, plan detail, diff viewer,
and validation summary panes. Add Web UI stub with local-only
read-only routes. Configure auto-refresh and manual keybinds.

ISSUES CLOSED: #341
2026-03-24 20:30:54 +00:00

72 lines
3.2 KiB
Plaintext

*** Settings ***
Documentation End-to-end smoke tests for TUI/Web UI interface
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_tui_interface.py
*** Test Cases ***
UIDataProvider Returns Empty Plans
[Documentation] Verify UIDataProvider returns empty plan list
${result}= Run Process ${PYTHON} ${HELPER} provider-empty-plans cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-provider-empty-plans-ok
UIDataProvider Returns Plans
[Documentation] Verify UIDataProvider returns populated plan list
${result}= Run Process ${PYTHON} ${HELPER} provider-plans cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-provider-plans-ok
UIDataProvider Returns Plan Detail
[Documentation] Verify UIDataProvider returns plan detail
${result}= Run Process ${PYTHON} ${HELPER} provider-detail cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-provider-detail-ok
Web UI Plans Route
[Documentation] Verify /ui/plans returns JSON
${result}= Run Process ${PYTHON} ${HELPER} web-plans cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-web-plans-ok
Web UI Plan Detail Route
[Documentation] Verify /ui/plans/<id> returns JSON
${result}= Run Process ${PYTHON} ${HELPER} web-plan-detail cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-web-plan-detail-ok
Web UI Sessions Route
[Documentation] Verify /ui/sessions returns JSON
${result}= Run Process ${PYTHON} ${HELPER} web-sessions cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-web-sessions-ok
Web UI Diffs Route
[Documentation] Verify /ui/diffs/<plan_id> returns JSON
${result}= Run Process ${PYTHON} ${HELPER} web-diffs cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-web-diffs-ok
Web UI Health Route
[Documentation] Verify /ui/health returns ok
${result}= Run Process ${PYTHON} ${HELPER} web-health cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-web-health-ok
Settings Defaults
[Documentation] Verify default TUI/Web settings
${result}= Run Process ${PYTHON} ${HELPER} settings-defaults cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-settings-defaults-ok
CLI UI Web Disabled
[Documentation] Verify CLI rejects web UI when disabled
${result}= Run Process ${PYTHON} ${HELPER} cli-web-disabled cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} tui-cli-web-disabled-ok