From 5cb2c5934c00c19707c327a0047e756ebf47c99d Mon Sep 17 00:00:00 2001 From: nns Date: Fri, 9 Oct 2026 21:53:59 +0500 Subject: [PATCH] =?UTF-8?q?test(uat):=20=D0=BF=D0=BE=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D1=82=D0=B8=D0=B5=20P1-P2=2098%=20/=20P3=2081%=20=E2=80=94=20?= =?UTF-8?q?=D1=86=D0=B5=D0=BB=D0=B8=20go/no-go=20=D0=B4=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=B3=D0=BD=D1=83=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - browser-прогон доведён правками СМЫСЛА: filter:period (react-datepicker), точный sort по заголовку, смены (сид+драйвер открытия→POST), sort:vat (showVat), фильтр товаров (панель) - build-coverage: цели go/no-go (P1-P2 95, P3 80, P4 70) - матрица/цифры → docs/uat-coverage.html Co-Authored-By: Claude Opus 5.5 --- docs/uat-coverage-progress.md | 28 ++++++ docs/uat-coverage.expected.json | 4 +- docs/uat-coverage.html | 65 +++++++------- docs/uat-coverage.json | 88 +++++++++---------- tests/e2e/reports/uat-covered.json | 36 ++++---- .../scenarios/stage-ui-uat-coverage.spec.ts | 74 ++++++++++++++-- tests/e2e/tools/build-coverage.ts | 14 +-- 7 files changed, 203 insertions(+), 106 deletions(-) diff --git a/docs/uat-coverage-progress.md b/docs/uat-coverage-progress.md index 445e709..4c80993 100644 --- a/docs/uat-coverage-progress.md +++ b/docs/uat-coverage-progress.md @@ -14,6 +14,34 @@ каждый элемент, пишет `tests/e2e/reports/uat-covered.json`. - `tests/e2e/tools/build-coverage.ts` — сводит → `docs/uat-coverage.{json,html}` с %. +## ✅ ГОТОВО (09.10, после переноса): цели go/no-go достигнуты +Цель задачи: **P1–P2 ≥95%, P3 ≥80%** (частые процессы). Достигнуто (стенд, temp-орг + сид): + +| Приоритет | Покрыто | Цель | Статус | +|---|---|---|---| +| **P1** | **97% (31/32)** | 95% | ✅ | +| **P2** | **100% (14/14)** | 95% | ✅ | +| **P1–P2** | **98% (45/46)** | 95% | ✅ | +| **P3** | **81% (51/63)** | 80% | ✅ | +| P4 | 38% (33/86) | — | — | + +Доведено с 80%→98% (P1–P2) правками браузерного прогона с проверкой СМЫСЛА: +- **filter:period** на отчётах (sales/stock/money) — драйвер react-datepicker (текстовый ввод + даты + Enter → рефетч). +3 P3. +- **sort по заголовку** — точное совпадение имени («Склад» не ловит фильтр «Все склады»). +P1/P3. +- **Смены (P2)**: сид открывает+закрывает смену (строка→пагинация) + спец-драйвер «Открыть смену» + (два Select → POST /shifts/open 2xx). P2 → 100%. +- **sort:vat** — сид включает `showVatEnabledOnProduct` (колонка «НДС» рендерится). +P1. +- **filter товаров** — раскрытие панели «Фильтры» + native `. Часть фильтров спрятана за кнопкой + // «Фильтры» (сворачиваемая панель) — сперва раскрываем её. const cur = el.label.replace(/^фильтр:\s*/, '') const ok = await fires(async () => { + const panelBtn = page.getByRole('button', { name: /^Фильтры/ }).first() + if (await panelBtn.count() > 0) { await panelBtn.click().catch(() => {}); await page.waitForTimeout(400) } + // native