From 605c1bac2c8af147792585d77365cb77e488b098 Mon Sep 17 00:00:00 2001 From: nns Date: Fri, 9 Oct 2026 12:06:02 +0500 Subject: [PATCH] =?UTF-8?q?test(uat):=20=D0=B1=D1=80=D0=B0=D1=83=D0=B7?= =?UTF-8?q?=D0=B5=D1=80=D0=BD=D1=8B=D0=B5=20per-control=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20+=20=D0=B3=D0=B5=D0=B9?= =?UTF-8?q?=D1=82=D0=B8=D0=BD=D0=B3=20=D0=BF=D1=80=D0=B0=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D1=8F=D0=BC=D1=8B=D0=BC=20URL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - stage-ui-uat-controls: в браузере контролы списков шлют правильный параметр (поиск→search, сортировка→sort, фильтр→свой параметр, пагинация→page=2, экспорт→/export&format), + жизненный цикл документа приёмки (провести чекбоксом «Проведено»→POST /post, снять→/unpost, удалить→DELETE). 16/16 ✓. Семантику параметр→строки независимо держит filters-sweep. - stage-ui-uat-permissions: кассир/кладовщик по ПРЯМОМУ URL к админ-разделам видят «Нет доступа» (RoleGuard), разрешённые разделы открываются. 2/2 ✓. - docs/uat-per-control-progress.md — реестр экранов × контролов. Co-Authored-By: Claude Opus 5.5 --- docs/uat-per-control-progress.md | 60 ++++++ .../scenarios/stage-ui-uat-controls.spec.ts | 189 ++++++++++++++++++ .../stage-ui-uat-permissions.spec.ts | 101 ++++++++++ 3 files changed, 350 insertions(+) create mode 100644 docs/uat-per-control-progress.md create mode 100644 tests/e2e/scenarios/stage-ui-uat-controls.spec.ts create mode 100644 tests/e2e/scenarios/stage-ui-uat-permissions.spec.ts diff --git a/docs/uat-per-control-progress.md b/docs/uat-per-control-progress.md new file mode 100644 index 0000000..145674b --- /dev/null +++ b/docs/uat-per-control-progress.md @@ -0,0 +1,60 @@ +# UAT по каждому элементу управления — прогресс + +Доделываем то, что в `docs/uat-report-2026-10-09.md` честно помечено «не покрыто»: +per-control UI-UAT P2–P4 в браузере + UI-гейтинг прав по ролям (кнопки и прямые URL). + +Правило владельца: НЕ перепроверять уже покрытое (часть A отчёта, filters-sweep 21/21, +mobile-390, ошибки ввода) — только непокрытое. + +Легенда: [x] готово · [~] частично · [ ] не начато. + +## Как устроены списки (чтобы тестировать осмысленно) +Все list-страницы используют общий `useCatalogList(url, extraParams)` → `search`, `page`, +`sortKey/sortOrder` (клик по заголовку колонки), фильтры — `