From 0d714e62bce7406e01bf9ec89d052ac9f00ab0fe Mon Sep 17 00:00:00 2001 From: nns Date: Fri, 9 Oct 2026 03:25:59 +0500 Subject: [PATCH] =?UTF-8?q?docs(stock):=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B5=D1=81=D1=81=20=E2=80=94=20e2e-=D0=B1=D1=80=D0=B0=D1=83?= =?UTF-8?q?=D0=B7=D0=B5=D1=80=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD,=20=D0=BE=D1=81=D1=82=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20We?= =?UTF-8?q?b=20Push=20=D0=B8=20=D0=B4=D0=B5=D1=81=D0=BA=D1=82=D0=BE=D0=BF-?= =?UTF-8?q?=D0=BA=D0=B0=D1=81=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- docs/negative-stock-alerts-progress.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/negative-stock-alerts-progress.md b/docs/negative-stock-alerts-progress.md index 20232a1..d553950 100644 --- a/docs/negative-stock-alerts-progress.md +++ b/docs/negative-stock-alerts-progress.md @@ -45,10 +45,12 @@ **Мобильное API** — `GET /api/notifications` + `/count` + `POST …/read` + recount ✓; `GET /api/negative-stock` + `/count` ✓. **APNs-заглушка** — `device_tokens` (Phase40) + `IPushSender`/ `StubPushSender` ✓. **Отложено:** Web Push (VAPID + SW push-обработчик) — браузерный канал. -6. [~] Тесты: unit тихих часов **3/3** ✓; integration **3/3** (минус→алерт→recount→авто-закрытие; - фильтр negativeOnly; **джоб → уведомление админу + дебаунс + read-all**) ✓; full-chain 9/13 ✓. - Скрины стенда ✓ — баннер, фильтр, **центр уведомлений** (`neg-notif-center2-*.png`), **настройки** - (`neg-settings-*.png`). **Отложено:** автоматический e2e-браузер-тест колокольчика/«Пересчитать». +6. [~] Тесты: unit тихих часов **3/3** ✓ (вся юнит-сьют 297/297 — попутно починен SQLite-харнесс); + integration **3/3** (минус→алерт→recount→авто-закрытие; фильтр negativeOnly; **джоб → + уведомление админу + дебаунс + read-all**) ✓; **e2e-браузер** (`stage-ui-negative-stock.spec.ts`: + баннер + «Пересчитать» → черновик + фильтр) ✓; full-chain 9/13 ✓. Скрины стенда ✓ — баннер, + фильтр, центр уведомлений, настройки. **Отложено:** e2e-браузер именно на колокольчик (зависит + от cron-джоба; покрыт integration-тестом + скрином). 7. [x] Снята блокировка продажи в минус: розница, касса (POS-синк), опт, списание, перемещение, возврат поставщику, отмена приёмки. Деньги (минус счёта) — не трогали (другое правило). 8. [ ] **Отложено** (десктопная Avalonia-касса): предупреждение в строке + жёлтый индикатор в шапке + @@ -73,11 +75,11 @@ ## Что отложено (нужен отдельный проход) - **Web Push (VAPID)** — браузерный push-канал (ключи + SW push/notificationclick + подписка). -- **Автоматический e2e-браузер-тест** колокольчика/«Пересчитать» (ручные скрины сняты). - **Avalonia-касса (п.8)** — индикатор/предупреждение; сначала нужен задел: остатки в POS-sync (у `PosProduct` нет количества). Отдельная десктоп-поверхность. - **Реальная отправка push** (APNs/FCM) — нужен платный Apple Developer; заглушка в DI готова. -**DONE не ставим — остаются п.5 (Web Push), п.6 (e2e-браузер), п.8 (касса).** +- e2e-браузер на сам колокольчик (зависит от cron-джоба) — покрыт integration + скрином. +**DONE не ставим — остаются п.5 (Web Push VAPID) и п.8 (десктоп-касса).** ## Что НЕ трогаем Прод, shared-postgres, global.json, gateway nginx, sklad. Расчёт себестоимости (п.12 отложен).