stackchain-dashboard/tests/test_today_capture_flow.py
timmy f8c2541d30
All checks were successful
CI / lint (pull_request) Successful in 3m23s
CI / build-release (pull_request) Successful in 7s
CI / browser-journey (pull_request) Successful in 2m35s
CI / release-candidate (pull_request) Has been skipped
feat: pause Today during quick capture (Closes #1076)
2026-08-18 11:06:44 +00:00

31 lines
1.1 KiB
Python

from pathlib import Path
ROOT = Path(__file__).parents[1]
DASHBOARD = ROOT / "frontend" / "dashboard.js"
INDEX = ROOT / "frontend" / "index.html"
TIMER = ROOT / "frontend" / "today-timer.js"
def test_quick_capture_wires_timer_interruption_to_all_exit_paths():
source = DASHBOARD.read_text()
timer_source = TIMER.read_text()
html = INDEX.read_text()
assert 'id="today-capture-interruption"' in html
assert 'id="today-capture-interruption-label"' in html
assert "view.beginCapture();" in timer_source
assert "timerView.transferCapture()" in source
assert "timerView.finishCapture()" in source
assert "result ? 'Save & return to Today' : 'Save to Drafts'" in timer_source
assert "if (!capture)" in source
def test_capture_save_returns_only_after_durable_admission():
source = DASHBOARD.read_text()
saved = source.index("const savedCapture = await unfiledCaptures.save(captureDraft);")
returned = source.index("timerView.finishCapture()", saved)
failure = source.index("} catch (error) {", saved)
assert saved < returned < failure