mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-18 00:29:42 +03:00
test(web-test): M3 P1 batch 1 — confirm-save-no/pending, more-menu, clear/ref-form, table checkbox/clear
02-crud: confirm-save-no (rollback при save:false), confirm-pending (closeForm() без решения возвращает confirmation), more-menu (clickElement 'Ещё' возвращает submenu). 03-fillfields: clear (Shift+F4 через пустое значение), reference-non-quickchoice (fillFields на quickChoice=false поле — method=dropdown через DLB; чистый form-path требует hasPick && !hasSelect, такого поля в синтетике нет). 04-selectvalue: clear (selectValue '' → Shift+F4). show-all-form отложен — требует quickChoice=true каталога с количеством > порога dropdown (в синтетике нет). 05-table: checkbox (fillTableRow с Boolean), clear (Shift+F4 на ref-ячейке + восстановление для последующего delete). Live на webtest: все шаги проходят. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -48,6 +48,35 @@ export default async function({ navigateSection, openCommand, clickElement, fill
|
||||
assert.equal(t.rows[1]['Цена'], '150,00', 'Цена строки 1 = 150');
|
||||
});
|
||||
|
||||
await step('checkbox: переключить Согласовано в строке 1 через fillTableRow', async () => {
|
||||
const r = await fillTableRow(
|
||||
{ 'Согласовано': true },
|
||||
{ table: 'Товары', row: 1 }
|
||||
);
|
||||
log(`checkbox result: ${JSON.stringify(r.filled || r)}`);
|
||||
const t = await readTable({ table: 'Товары' });
|
||||
log(`row 1 Согласовано='${t.rows[1]['Согласовано']}'`);
|
||||
assert.equal(t.rows[1]['Согласовано'], 'true', 'Согласовано должно стать true');
|
||||
});
|
||||
|
||||
await step('clear: очистить ссылочную ячейку Номенклатура через fillTableRow с пустым значением', async () => {
|
||||
// Используем строку 0 (Товар 01)
|
||||
const r = await fillTableRow(
|
||||
{ 'Номенклатура': '' },
|
||||
{ table: 'Товары', row: 0 }
|
||||
);
|
||||
log(`clear result: ${JSON.stringify(r.filled || r)}`);
|
||||
const t = await readTable({ table: 'Товары' });
|
||||
log(`row 0 Номенклатура after clear='${t.rows[0]['Номенклатура']}'`);
|
||||
assert.equal(t.rows[0]['Номенклатура'], '', 'Номенклатура должна быть очищена (Shift+F4)');
|
||||
|
||||
// Восстанавливаем Товар 01 чтобы последующий delete мог работать с предсказуемым состоянием
|
||||
await fillTableRow(
|
||||
{ 'Номенклатура': 'Товар 01' },
|
||||
{ table: 'Товары', row: 0 }
|
||||
);
|
||||
});
|
||||
|
||||
await step('delete: удалить первую строку', async () => {
|
||||
await deleteTableRow(0, { table: 'Товары' });
|
||||
const t = await readTable({ table: 'Товары' });
|
||||
|
||||
Reference in New Issue
Block a user