| 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 | |