Preserve timed break when active work reopens
CI / lint (pull_request) Successful in 2m55s
CI / build-release (pull_request) Successful in 6s
CI / browser-journey (pull_request) Successful in 3m34s
CI / release-candidate (pull_request) Has been skipped

This commit is contained in:
timmy committed 2026-08-19 18:08:35 +00:00
1 parent 156d4b0ffc
commit 870edda123
2 files changed
+30 -1

No files matched your search

+28
View File
@@ -65,6 +65,34 @@ process.stdout.write(JSON.stringify(timer.snapshot()));
}
def test_reactivating_the_active_item_during_reload_preserves_its_timed_break():
script = TIMER.read_text() + r"""
const values = new Map();
const storage = {getItem:key=>values.get(key)||null,setItem:(key,value)=>values.set(key,value)};
let now = 100000;
const timer = createTodayTimer({storage,getLogin:()=> 'timmy',now:()=>now});
timer.activate('issue:r:42:');
timer.startBreak(5);
const reopened = timer.activate('issue:r:42:');
process.stdout.write(JSON.stringify({reopened,snapshot:timer.snapshot(),pending:timer.breakSnapshot()}));
"""
assert run_node(script) == {
"reopened": True,
"snapshot": {
"identity": "issue:r:42:",
"elapsed_ms": 0,
"running": False,
"break_deadline_at": 400_000,
},
"pending": {
"identity": "issue:r:42:",
"deadline_at": 400_000,
"expired": False,
},
}
def test_break_expiry_never_restarts_time_and_resume_is_explicit_and_idempotent():
script = TIMER.read_text() + r"""
const values = new Map();