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_overall_timeline_uses_product_phase_labels_for_current_engine(): js = read('web/static/progress.js') for label in [ "display_label:'Model card'", "display_label:'Agent build'", "display_label:'Agent review'", "display_label:'Deploy'", "display_label:'Live test'", "display_label:'Recovery'", "display_label:'Report'", ]: assert label in js assert "display_label:'Deps'" not in js assert "display_label:'Validate'" not in js def test_timeline_meta_does_not_show_raw_worker_step_names(): js = read('web/static/progress.js') assert 'WORKER_STEP_DISPLAY_LABELS' in js assert 'active_substep_label:workerStepDisplayLabel(activeSubstep)' in js assert "x.done_count||0}/${x.total_count}${x.active_substep?' ยท '+x.active_substep:''}" not in js assert "friendlySubstep" in js def test_current_step_uses_friendly_worker_label(): js = read('web/static/progress.js') assert 'currentStepLabel:workerStepDisplayLabel(activeItem?.step||activeItem?.id)' in js