food-market/tests/e2e/reports/reports-stats-2026-05-26T06-29-01-563Z.md
nns f2f64646b1 docs(e2e): финальный системный отчёт 2026-05-26 — все 9 сценариев зелёные
Сводный отчёт systemic-2026-05-26.md + зелёные прогоны всех сценариев
(82 шага, 0 падений). За сессию исправлено: refresh-rotation (TokenId +
zero reuse-leeway), сериализуемое проведение приёмки против lost update,
MoySklad BaseUrl в конфиг. Покрыты впервые: конкурентность приёмок,
дашбордная выручка, импорт MoySklad (идемпотентность/маппинг). Зафиксированы
gap'ы по нереализованным отчётам (профит/ABC/экспорт, ТЗ 2.12).

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

3.3 KiB
Raw Blame History

E2E report: reports-stats

Запущен: 2026-05-26T06:28:57.128Z Длительность: 2.9с

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

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

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

Тип Проверка Результат
api Орг A с товаром и остатком готова ✓ 86c52764-ba04-43c5-b069-52ff3197e2b6

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

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

Тип Проверка Результат
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

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

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

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

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

Тип Проверка Результат
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)

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

Тип Проверка Результат
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 нет.