31 lines
1.1 KiB
Python
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
|