up
This commit is contained in:
@@ -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)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user