from pathlib import Path ROOT = Path(__file__).resolve().parents[1] def read(path: str) -> str: return (ROOT / path).read_text(encoding="utf-8") def test_build_can_launch_without_manual_space_name_after_prescan(): js = read("web/static/app.js") assert "if(!formValue('targetSpace'))" not in js assert "target_space_name:formValue('targetSpace')||undefined" in js html = read("web/index.html") assert "Target Space name" in html assert "optional-label" in html def test_run_details_are_cached_for_fast_panel_reload(): js = read("web/static/runs.js") assert "function cachedRunDetail" in js assert "function rememberRunDetail" in js assert "cachedHeavy||cachedLight" in js assert "state.runDetailCache" in js def test_event_feed_uses_vector_icons_not_emoji_or_text_badges(): js = read("web/static/progress.js") css = read("web/static/app.css") assert "function renderEventIcon" in js assert "EVENT_ICON_PATHS" in js assert "data-event-icon" in js assert '