mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-10 08:04:56 +03:00
test(web-test): группа БольшойСписок (60 элементов) для дин-список сценариев
Справочник Номенклатура: третья группа БольшойСписок с 60 элементами (Позиция 001..060) — заведомо больше окна виртуализации (~22-30 строк). Нужна для тестов reveal-loop и hasMore.above/below на ДИНАМИЧЕСКОМ списке (до этого длинный список был только в табчасти LongDoc). Группы Товары (15) и Услуги (10) оставлены как есть — существующие тесты (05/06/12) полагаются на то, что обе помещаются в DOM-окно. 08-hierarchy и 16-tree-form обновлены под 3 группы верхнего уровня (было жёстко зашито 2): проверяют наличие всех трёх + БольшойСписок. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -20,11 +20,12 @@ export default async function({ navigateSection, openCommand, clickElement, clos
|
||||
await step('read-groups: иерархический список возвращает группы верхнего уровня', async () => {
|
||||
const t = await readTable();
|
||||
log(`total=${t.total} rows=${t.rows?.length} viewMode=${t.viewMode}`);
|
||||
assert.equal(t.total, 2, 'видны только две группы верхнего уровня');
|
||||
assert.equal(t.total, 3, 'три группы верхнего уровня (Товары, Услуги, БольшойСписок)');
|
||||
assert.ok(t.rows.every(r => r._kind === 'group'), 'все строки — группы (_kind=group)');
|
||||
const names = t.rows.map(r => r['Наименование']);
|
||||
assert.includes(names, 'Товары', 'есть группа Товары');
|
||||
assert.includes(names, 'Услуги', 'есть группа Услуги');
|
||||
assert.includes(names, 'БольшойСписок', 'есть группа БольшойСписок');
|
||||
});
|
||||
|
||||
await step('group-expand: clickElement({expand}) раскрывает группу и показывает элементы', async () => {
|
||||
@@ -55,8 +56,8 @@ export default async function({ navigateSection, openCommand, clickElement, clos
|
||||
await step('read-tree: readTable в режиме Дерево возвращает _tree состояния', async () => {
|
||||
const t = await readTable();
|
||||
log(`tree rows: ${t.rows?.map(r => `${r['Наименование']}:${r._tree}`).join(' | ')}`);
|
||||
const groupRows = t.rows.filter(r => /^(Товары|Услуги)$/.test(r['Наименование'] || ''));
|
||||
assert.equal(groupRows.length, 2, 'обе группы видны в дереве');
|
||||
const groupRows = t.rows.filter(r => /^(Товары|Услуги|БольшойСписок)$/.test(r['Наименование'] || ''));
|
||||
assert.equal(groupRows.length, 3, 'все три группы видны в дереве');
|
||||
assert.ok(groupRows.every(r => r._tree === 'collapsed' || r._tree === 'expanded'),
|
||||
'_tree присутствует у каждой группы (collapsed или expanded)');
|
||||
});
|
||||
|
||||
@@ -17,15 +17,16 @@ export default async function({ navigateLink, clickElement, closeForm, readTable
|
||||
assert.ok(r.tables?.some(t => t.name === 'Дерево'), 'таблица Дерево присутствует');
|
||||
});
|
||||
|
||||
await step('read-roots: на верхнем уровне видны 2 группы (Товары, Услуги)', async () => {
|
||||
await step('read-roots: на верхнем уровне видны группы (Товары, Услуги, БольшойСписок)', async () => {
|
||||
const t = await readTable('Дерево');
|
||||
log(`columns=${t.columns?.join(',')} rows=${t.rows?.length}`);
|
||||
assert.deepEqual(t.columns, ['Номенклатура', 'Цена'], 'колонки: Номенклатура + Цена');
|
||||
assert.equal(t.rows.length, 2, '2 корневые строки');
|
||||
assert.equal(t.rows.length, 3, '3 корневые строки');
|
||||
const names = t.rows.map(r => r['Номенклатура']);
|
||||
assert.includes(names, 'Товары', 'есть Товары');
|
||||
assert.includes(names, 'Услуги', 'есть Услуги');
|
||||
assert.ok(t.rows.every(r => r._kind === 'group'), 'обе корневые — group (есть expand-стрелка)');
|
||||
assert.includes(names, 'БольшойСписок', 'есть БольшойСписок');
|
||||
assert.ok(t.rows.every(r => r._kind === 'group'), 'все корневые — group (есть expand-стрелка)');
|
||||
});
|
||||
|
||||
await step('expand: clickElement({expand}) раскрывает Товары — 15 элементов', async () => {
|
||||
|
||||
Reference in New Issue
Block a user