feat(chemistry7): Phase 1 Волна 2 — Глава 1, §§4–6

§4 Относительная атомная масса (весы атомов: во сколько раз тяжелее),
§5 Молекулы и простые вещества (галерея молекул O2/O3/H2/N2 шариками),
§6 Сложные вещества (классификатор простое/сложное + галерея H2O/CO2/CH4/NH3).
Теория, тренажёры задач. Тест: 8/8 pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-05-30 18:26:17 +03:00
parent 185ce2b640
commit f7d27ecb91
3 changed files with 174 additions and 4 deletions
+12
View File
@@ -83,6 +83,18 @@ test('ch1 Волна 1: интерактивы §1–§3 + ПР1 монтиру
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
});
test('ch1 Волна 2: интерактивы §4–§6 монтируются без ошибок', async () => {
const { doc, errors } = await loadDom('chemistry_7_ch1.html');
doc.defaultView.goTo('p4'); await wait(100);
assert.ok(doc.querySelector('#p4-bal #p4-a'), 'весы атомов §4');
doc.defaultView.goTo('p5'); await wait(100);
assert.ok(doc.querySelector('#p5-gal svg'), 'галерея молекул §5');
doc.defaultView.goTo('p6'); await wait(100);
assert.ok(doc.querySelector('#p6-cls .c7-chip'), 'классификатор простое/сложное §6');
assert.ok(doc.querySelector('#p6-gal svg'), 'галерея сложных веществ §6');
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
});
test('ch1: переход к §9 и финалу строит заглушку без ошибок', async () => {
const { doc, errors } = await loadDom('chemistry_7_ch1.html');
doc.defaultView.goTo('p9'); await wait(80);