File size: 1,385 Bytes
6922a9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
da65740
 
6922a9e
 
 
 
 
 
da65740
6922a9e
 
 
da65740
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from pathlib import Path


def test_activity_feed_merges_events_instead_of_replacing_with_short_poll():
    js = Path("web/static/progress.js").read_text(encoding="utf-8")
    assert "function mergeStableEvents" in js
    assert "[...activityFeedState.lastItems,...incoming]" in js
    assert "activityFeedState.runId!==runId" in js
    assert "const list=mergeStableEvents" in js


def test_activity_feed_resets_when_active_run_resets():
    app = Path("web/static/app.js").read_text(encoding="utf-8")
    assert "activityFeedState.runId=null" in app
    assert "activityFeedState.lastItems=[]" in app


def test_timeline_auto_centers_on_active_step():
    js = Path("web/static/progress.js").read_text(encoding="utf-8")
    css = Path("web/static/app.css").read_text(encoding="utf-8")
    assert "function activeTimelineStepKey" in js
    assert "function ensureTimelineStepVisible" in js
    assert "root.dataset.visibleStep" in js
    assert "root.scrollTo" in js
    assert "scroll-behavior:smooth" in css


def test_timeline_centers_even_when_signature_is_unchanged():
    js = Path("web/static/progress.js").read_text(encoding="utf-8")
    assert "if(root.dataset.signature===signature){ensureTimelineStepVisible(currentKey);return;}" in js


def test_app_version_v68():
    assert '"version": "v70-progress-resume-events-latency"' in Path("app.py").read_text(encoding="utf-8")