Files
hermes-webui/tests/test_update_check_ui.py
T

23 lines
1006 B
Python

"""Source-level guards for update-check UI status handling."""
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
PANELS_JS = (REPO_ROOT / "static" / "panels.js").read_text(encoding="utf-8")
UI_JS = (REPO_ROOT / "static" / "ui.js").read_text(encoding="utf-8")
def test_manual_update_check_displays_api_errors_before_up_to_date():
"""Manual checks must not translate API error payloads into green success."""
error_idx = PANELS_JS.index("const errorParts=[]")
up_to_date_idx = PANELS_JS.index("settings_up_to_date")
assert error_idx < up_to_date_idx
assert "data.webui" in PANELS_JS
assert "data.agent" in PANELS_JS
assert "settings_update_check_failed')+': '+errorParts.join(', ')" in PANELS_JS
def test_update_error_formatter_strips_generic_fetch_prefix():
"""The UI should show the actionable git detail, not only 'fetch failed'."""
assert "function _formatUpdateCheckError(label,info)" in UI_JS
assert "replace(/^fetch failed" in UI_JS