From 486890c388a6b5945de17bf6b4d6c109764b6654 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Wed, 27 May 2026 14:03:00 +0300 Subject: [PATCH] =?UTF-8?q?test(web-test):=20=D1=81=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=2004-selectvalue=20auto-history=20=D0=B4?= =?UTF-8?q?=D0=B5=D1=82=D0=B5=D1=80=D0=BC=D0=B8=D0=BD=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step auto-history полагался на наполненную UserChoiceHistory от предыдущих тестов (06-document и т.д.) — в одиночном прогоне history для 'ООО Юг' пустая, typeahead не активировался, method=form вместо ожидаемого dropdown. History в 1С — per-value: первый выбор значения через form наполняет историю, второй выбор того же значения идёт через typeahead-dropdown. Добавлен warm-up: selectValue('Менеджер', 'ООО Юг') → clear → второй selectValue того же значения (уже из истории). Закрывает §0.8 #4 родительского плана. Регресс одиночный + полный 19/19 зелёный. Co-Authored-By: Claude Opus 4.7 (1M context) --- tests/web-test/04-selectvalue.test.mjs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/web-test/04-selectvalue.test.mjs b/tests/web-test/04-selectvalue.test.mjs index 7ac476a8..7c5798a8 100644 --- a/tests/web-test/04-selectvalue.test.mjs +++ b/tests/web-test/04-selectvalue.test.mjs @@ -44,10 +44,20 @@ export default async function({ navigateSection, openCommand, clickElement, sele // Контрагент: 'DontUse' → typeahead-dropdown подавлен → selectValue идёт в form // Менеджер: 'Auto' (дефолт) → typeahead активен → selectValue остаётся в dropdown // Шаг подтверждает, что флаг управляет path внутри selectValue. + // + // history наполняется per-value при выборе. Делаем warm-up через form, чтобы + // second pick шёл из истории — иначе isolation-прогон зависит от того, + // выбирали ли 'ООО Юг' в предыдущих тестах (06-document и т.д.). await navigateSection('Склад'); await openCommand('Приходная накладная'); await clickElement('Создать'); + // Warm-up: первый выбор может пойти через form (если history пустая). + // Не делаем assertions — только наполняем историю. + await selectValue('Менеджер', 'ООО Юг'); + await selectValue('Менеджер', ''); // clear, оставляем форму открытой + + // Второй выбор того же значения — должен взяться из history через typeahead. const r = await selectValue('Менеджер', 'ООО Юг'); log(`Менеджер (Auto): method=${r.selected?.method}`); assert.equal(r.selected?.method, 'dropdown',