food-market/tests
nns d49b586904
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
feat(stock): фильтры остатков «В наличии / Нулевые / В минусе» (states, объединение ИЛИ)
Поручение владельца (задача 11): галочки состояния остатка объединяются (ИЛИ),
группа/склад/поиск сужают (И). Пусто → positive+negative (нулевые скрыты).

- API StockController: параметр states (positive|zero|negative; через запятую или
  повтором) на /api/inventory/stock и /stock/export. Один WHERE:
  (positive И qty>0) ИЛИ (zero И qty=0) ИЛИ (negative И qty<0) — по остатку
  (COALESCE подзапрос; товар без строки Stock = 0). total/пагинация/сортировка
  корректны. Старые includeZero/negativeOnly оставлены для совместимости
  (includeZero ≡ все три; negativeOnly ≡ negative); states приоритетнее.
- Веб-админка StockPage: три галочки «В наличии» (>0), «Нулевые» (=0), «В минусе»
  (<0) вместо прежних двух; состояние в URL (states=…), экспорт учитывает галочки.
  Ссылки NegativeStockBanner/OverdueNegativeStockBlock/NotificationCenter на
  минусовые → states=negative.
- Интеграционный тест: сочетания (zero; negative; positive; zero+negative;
  +группа; все три = весь каталог; пусто = positive+negative; со складом) и
  числовые тождества (positive+negative=пусто; positive+zero+negative=весь
  каталог) + совместимость старых флагов. 1/1 зелёный (EF8 переводит предикат).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 18:29:31 +05:00
..
e2e docs(site): отчёт и скриншоты проверки круга 2 (44/44) + verify-скрипт 2026-10-11 01:29:07 +05:00
fixtures fix(hotfix): invoice500 + фоновые 403 на reload + regression e2e 2026-10-05 00:21:41 +05:00
food-market.IntegrationTests feat(stock): фильтры остатков «В наличии / Нулевые / В минусе» (states, объединение ИЛИ) 2026-10-11 18:29:31 +05:00
food-market.UnitTests fix(pos): автопоиск весов не виснет на Bluetooth-портах (реальный баг на кассе 11.10) 2026-10-11 09:03:45 +05:00
integration perf(s28): integration suite workers=2 (46% speedup 66→36s) 2026-06-09 03:45:41 +05:00
load docs(s27): финальные результаты 4h-soak — 718k iter, 0 mem leak 2026-06-09 07:25:06 +05:00
regression fix(migration): не схлопывать разные карточки МойСклада по артикулу + актуализировать объяснение сверки 2026-10-09 20:11:06 +05:00
scripts feat(menu): новые экраны s31 в sidebar+Cmd+K+Cmd+J + split-кнопки, orphan-audit 2026-10-04 22:50:14 +05:00
stage-smoke.sh docs(s12): ARCHITECTURE/MULTI-TENANCY/RUNBOOK/DEVELOPER-GUIDE + k6 baseline + stage-verify CI 2026-06-07 03:19:25 +05:00