test(web-test): сделать 04-selectvalue auto-history детерминированным

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) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-05-27 14:03:00 +03:00
parent 707033e25b
commit 486890c388
+10
View File
@@ -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',