feat(web-test): M5-pre #3 — textEdit:false поле + 03-fillfields/direct-edit-form

Расширение синтетики: реквизит Поставщик типа CatalogRef.Контрагенты
добавлен в шапку ПриходнаяНакладная. Элемент формы Поставщик скомпилирован
с textEdit:false (новый DSL ключ form-compile v1.21 из коммита 32bf9c1):
ручной ввод запрещён, селект-кнопки нет, выбор только через форму выбора
по pick-кнопке.

Новый шаг 03-fillfields/direct-edit-form (~7s) — fillFields на Поставщик
('ООО Юг') возвращает method:'form', минуя обычные paste/typeahead/dropdown
ветки. fillFields внутренне детектит textEdit:false и сразу идёт через
форму выбора (selectValue path).

Полный регресс **18/18 зелёный** (8m 40.6s).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-05-12 16:11:46 +03:00
parent ddebd7b6df
commit 62e864e474
2 changed files with 27 additions and 0 deletions
+21
View File
@@ -154,4 +154,25 @@ export default async function({ navigateSection, openCommand, clickElement, fill
await closeForm({ save: false });
});
await step('direct-edit-form: textEdit:false → fillFields method=form', async () => {
// ПриходнаяНакладная.Поставщик — обычный CatalogRef.Контрагенты, но
// элемент формы с textEdit:false: ручной ввод запрещён, выбор только
// через форму выбора (не через paste/typeahead/dropdown).
await navigateSection('Склад');
await openCommand('Приходная накладная');
await clickElement('Создать');
const r = await fillFields({ 'Поставщик': 'ООО Юг' });
log('Поставщик method=' + r.filled[0]?.method);
assert.equal(r.filled[0]?.ok, true, 'Поставщик заполнен');
assert.equal(r.filled[0]?.method, 'form',
'textEdit:false принуждает к method=form (минуя paste/typeahead/dropdown)');
const state = await getFormState();
const p = state.fields?.find(f => f.name === 'Поставщик');
assert.equal(p?.value, 'ООО Юг', 'значение Поставщик установилось');
await closeForm({ save: false });
});
}