feat(math6): Глава 1, волна 4 — §12 прикладной + финал-боссы (глава завершена)
§12 «Математика вокруг нас»: задачи из жизни (покупки, сдача, измерения) + среднее значение. Финал главы: бой с 5 боссами (разряды, округление, сложение/вычитание, умножение, деление на дробь) с HP-баром; победа 4/5+ даёт +40 XP и достижение «Глава 1 пройдена». Эталонная Глава 1 готова: все 12 параграфов наполнены. Тесты 12/12. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -121,6 +121,19 @@ test('ch1 Волна 3: интерактивы §7–§10 монтируются
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
test('ch1 Волна 4: §12 прикладной и финал-боссы', async () => {
|
||||
const { doc, errors } = await loadDom('math_6_ch1.html');
|
||||
const win = doc.defaultView;
|
||||
win.goTo('app'); await wait(80);
|
||||
assert.ok(doc.querySelector('#app-q') && doc.querySelector('#app-aq'), 'задачи §12');
|
||||
win.goTo('final'); await wait(80);
|
||||
assert.ok(doc.querySelector('#fin-q') && doc.querySelector('#fin-go'), 'арена боссов');
|
||||
// финал на 100% → достижение ch1_done (finalAch)
|
||||
win.bumpProgress('final', 100); await wait(20);
|
||||
assert.ok(win.M6STATE.achievements.has('ch1_done'), 'достижение «Глава 1 пройдена» при финале');
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
test('навигация и прогресс: переход на § и отметка прочтения', async () => {
|
||||
const { doc, errors } = await loadDom('math_6_ch1.html');
|
||||
const win = doc.defaultView;
|
||||
|
||||
Reference in New Issue
Block a user