This commit is contained in:
2026-10-17 22:35:50 +07:00
parent 688d900cdc
commit beb8ca8f16
8 changed files with 107 additions and 7 deletions
+28
View File
@@ -252,6 +252,34 @@ test('снимок результатов ограничен текущей иг
f.c.selectPackage(null)
assert.equal(f.c.state.results, null)
})
test('новая дата тех же результатов сохраняет готовую сцену; изменение таблицы обновляет её', () => {
const f = fixture()
f.c.output(true)
f.send({ action: 'mode', mode: 6 })
const data = snapshot(f.key)
f.c.setResults(data)
const revision = f.c.state.scene.revision
f.c.reportScene({ session: f.c.state.session, revision, status: 'ready' })
data.capturedAt = '2026-10-17T10:00:05Z'
f.c.setResults(structuredClone(data))
assert.equal(f.c.state.results!.capturedAt, '2026-10-17T10:00:05.000Z')
assert.equal(f.c.state.scene.revision, revision)
assert.equal(f.c.state.scene.status, 'ready')
data.teams[0]!.totalScore = 10
f.c.setResults(data)
assert.equal(f.c.state.scene.revision, revision + 1)
assert.equal(f.c.state.results!.teams[0]!.totalScore, 10)
data.questions[0]!.text = 'Исправленный вопрос'
f.c.setResults(data)
assert.equal(f.c.state.scene.revision, revision + 2)
f.c.setResults(null)
assert.equal(f.c.state.scene.revision, revision + 3)
f.c.setResults(null)
assert.equal(f.c.state.scene.revision, revision + 3)
})
test('не принимает повреждённые снимки, повторные команды и неизвестные коды ответов', () => {
const f = fixture()
for (const mutate of [