This commit is contained in:
2026-10-17 20:57:16 +07:00
parent 40456eebf1
commit 1d4028b183
13 changed files with 849 additions and 48 deletions
+28
View File
@@ -282,3 +282,31 @@ test('не принимает повреждённые снимки, повто
f.c.tick()
assert.equal(f.c.state.timer.remainingMs, 299500)
})
test('аварийное закрытие сохраняет точный остаток таймера на паузе, повторное открытие не запускает его', () => {
const f = fixture()
f.send({ action: 'timer-set', label: 'Перерыв', durationSeconds: 60 })
f.send({ action: 'timer-start' })
f.send({ action: 'play', channel: 'main' })
const oldSession = f.c.state.session
f.advance(1234)
f.c.output(false, true)
assert.equal(f.c.state.timer.status, 'paused')
assert.equal(f.c.state.timer.remainingMs, 58766)
assert.equal(f.c.state.channels.main.desired, 'stopped')
assert.equal(f.c.state.channels.music.desired, 'stopped')
assert.notEqual(f.c.state.session, oldSession)
f.advance(10000)
f.c.tick()
f.c.output(true)
assert.equal(f.c.state.timer.status, 'paused')
assert.equal(f.c.state.timer.remainingMs, 58766)
f.send({ action: 'timer-resume' })
f.advance(1000)
f.c.tick()
assert.equal(f.c.state.timer.remainingMs, 57766)
f.advance(60000)
f.c.output(false, true)
assert.equal(f.c.state.timer.status, 'finished')
assert.equal(f.c.state.timer.remainingMs, 0)
})