food-market/tests/e2e/reports/reports-stats-2026-05-26T07-03-01-171Z.md
nns 6098c03e1a docs(e2e): итоговый отчёт 2026-05-26 — 15 сценариев зелёные (124 шага)
Полная регрессия всех сценариев + 6 новых областей этой сессии (employees,
roles, superadmin-console, platform-smtp, auth-password, security-edge).
За день исправлено 4 бага: уволенный сотрудник логинится (P0), конкурентное
проведение приёмки ломает инвариант (critical), refresh не гасится после
ротации (high), change-owner принимал короткий reason (medium). Нереализованный
по ТЗ функционал (отчёты/склад-документы/POS/permission-authz/login-ratelimit)
зафиксирован как Logic gaps.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 12:05:23 +05:00

3.3 KiB
Raw Permalink Blame History

E2E report: reports-stats

Запущен: 2026-05-26T07:02:56.545Z Длительность: 3.0с

Итог: 5 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 5)

✓ Step step01_bootstrap: Орг A + товар + приёмка (остаток под продажи)

Длительность: 1544мс

Тип Проверка Результат
api Орг A с товаром и остатком готова ✓ 168ac2c6-f257-4b71-b5e6-997ce6777abc

✓ Step step02_stats_reflect_posted_sales: stats: RevenueToday/Transactions/AvgTicket = сумме проведённых чеков, серия непрерывна

Длительность: 405мс

Тип Проверка Результат
api Проведено 3 чека ✓ totals=600,500,400
api GET stats → 200 ✓ status=200
api RevenueToday == Σ проведённых чеков ✓ today=1500 expected=1500
api TransactionsToday == 3 ✓ tx=3
api RevenueThisMonth == RevenueToday (все чеки сегодня) ✓ month=1500
api AvgTicketThisMonth == Revenue/Transactions ✓ avg=500 expected=500.00
api Серия длиной 30 дней (default) ✓ len=30
api Последний бакет серии (сегодня) == RevenueToday ✓ last={rev:1500,tx:3}

✓ Step step03_draft_sale_excluded: Черновик чека (не проведён) не попадает в stats

Длительность: 49мс

Тип Проверка Результат
api Черновик чека создан (Status=Draft) ✓ status=201
api RevenueToday не изменился (черновик исключён) ✓ today=1500 expected=1500
api TransactionsToday остался 3 ✓ tx=3

✓ Step step04_stats_tenant_isolated: stats орг A не видит продажи орг B и наоборот

Длительность: 988мс

Тип Проверка Результат
api Орг B готова
api В орг B проведён 1 чек ✓ total=600
api stats орг A не включает продажу орг B ✓ A.today=1500 A.tx=3
api stats орг B == только её 1 чек ✓ B.today=600 B.tx=1

✓ Step step05_days_param_and_gaps: Параметр days меняет длину серии; профит/ABC-отчёты отсутствуют (gap)

Длительность: 24мс

Тип Проверка Результат
api days=7 → серия длиной 7 ✓ len=7
api Отчётов /api/reports/* нет (ожидаемо 404) ✓ profit=404 sales=404

Summary

  • Passed: 5
  • Failed: 0
  • Warnings: 0
  • Skipped: 0

Critical bugs

Нет.

Logic gaps

  • ТЗ 2.12: отчёт «прибыль» (выручка себестоимость по Cost-снимку RetailSaleLine) не реализован — RetailSaleLine не хранит снимок себестоимости, /stats отдаёт только валовую выручку.
  • ТЗ 2.12: ABC-анализ, «остатки на дату» (SUM Movement до даты) и экспорт CSV/XLSX отсутствуют — отдельного ReportsController нет.