From 99c77e1ddec614ae843941e20dd362c9c738eb98 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 2 May 2026 15:44:39 +0300 Subject: [PATCH] =?UTF-8?q?fix(web-test):=2002-crud=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82=20canonical=20closeF?= =?UTF-8?q?orm({save:true})?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Гипотеза о баге fillField paste была ошибочной — реальная причина в form-compile который не эмитит true для MainAttribute главной формы. Платформа без SavedData не трекает modified-state, confirmation dialog не появляется. Платформенная верификация на патченной Form.xml: closeForm({save:true}) после fillField корректно ловит confirmation, жмёт «Да», изменения сохраняются. См. T11 в upload/web-test-runner-tasks.md. ВНИМАНИЕ: тест зависит от ручного патча Form.xml. После прогона build-webtest-db.mjs тест упадёт до фикса form-compile (T11). Co-Authored-By: Claude Opus 4.7 (1M context) --- tests/web-test/02-crud.test.mjs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/web-test/02-crud.test.mjs b/tests/web-test/02-crud.test.mjs index 6618824a..6d8658cc 100644 --- a/tests/web-test/02-crud.test.mjs +++ b/tests/web-test/02-crud.test.mjs @@ -39,17 +39,17 @@ export default async function({ navigateSection, openCommand, clickElement, clos log(`closed=${after.closed} form-was=${before.form}`); }); - await step('save-via-button: fillField + "Записать и закрыть" → значение сохранилось', async () => { - // NB: closeForm({save:true}) ожидает confirmation dialog, но fillField через - // paste не выставляет 1C "modified" флаг → диалог не появляется и Escape - // просто закрывает форму без сохранения. Save-flow покрываем через явную - // кнопку «Записать и закрыть»; confirm-save-yes отложен как баг движка. + await step('confirm-save-yes: fillField + closeForm({save:true}) → значение сохранилось', async () => { + // ВНИМАНИЕ: тест требует true у MainAttribute + // главной формы Контрагенты. См. T11 в upload/web-test-runner-tasks.md — + // form-compile сейчас не эмитит этот флаг, форма патчится вручную. + // После прогона build-webtest-db.mjs тест упадёт пока не пофиксят T11. await navigateSection('Склад'); await openCommand('Контрагенты'); await clickElement('ООО Восток', { dblclick: true }); const newPhone = '+7 (999) 111-22-33'; await fillField('Телефон', newPhone); - await clickElement('Записать и закрыть'); + await closeForm({ save: true }); // Verify persisted await navigateSection('Склад');