mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 17:19:42 +03:00
feat(web-test): всплывающие (popup) группы — behavior, состояние, клик
Popup-группа надёжно отличается от сворачиваемой по DOM-маркеру панели
<base>#panel_div (+ #CloseBtn). В getFormState().groups она помечается
behavior:'popup', а её collapsed берётся из display панели (закрыта =
collapsed:true), не из инлайн-сиблинга (у popup содержимое в отдельном
слое, а не под mainGroup).
clickElement по заголовку popup и открывает, и закрывает — тот же
словарь {expand}/{toggle}, что и у сворачиваемых. После открытия
содержимое панели становится читаемым в getFormState (fields/
hyperlinks/texts). Тест 25-decoration-form покрывает popup; SKILL
дополнен. Полный регресс 29 passed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -70,4 +70,22 @@ export default async function({ navigateSection, openCommand, navigateLink, getF
|
||||
assert.equal(collapsedOf(r, 'ГруппаКартинкой'), false, 'B раскрыта тоглом');
|
||||
await closeForm();
|
||||
});
|
||||
|
||||
await step('popup: всплывающая группа — behavior, открытие показывает содержимое', async () => {
|
||||
const s = await navigateLink('Обработка.СтраницаНастроек');
|
||||
const pg = (s.groups || []).find(g => g.name === 'ГруппаВсплывающая');
|
||||
assert.ok(pg, 'всплывающая группа в groups[]');
|
||||
assert.equal(pg.behavior, 'popup', 'помечена behavior:popup (отличима от collapsible)');
|
||||
assert.equal(pg.collapsed, true, 'закрыта — collapsed:true');
|
||||
assert.ok(!(s.texts || []).some(t => /всплывающей/.test(t.value)), 'содержимое скрыто, пока закрыта');
|
||||
// Открыть → содержимое панели становится видно в состоянии формы.
|
||||
let r = await clickElement('Всплывающая группа', { expand: true });
|
||||
assert.equal((r.groups || []).find(g => g.name === 'ГруппаВсплывающая')?.collapsed, false, 'открыта');
|
||||
assert.ok((r.texts || []).some(t => /всплывающей/.test(t.value)), 'после открытия содержимое видно');
|
||||
r = await clickElement('Всплывающая группа', { expand: true });
|
||||
assert.equal(r.clicked.toggled, false, 'expand идемпотентен для popup');
|
||||
r = await clickElement('Всплывающая группа', { expand: false });
|
||||
assert.equal((r.groups || []).find(g => g.name === 'ГруппаВсплывающая')?.collapsed, true, 'закрыта обратно');
|
||||
await closeForm();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user