name: stage-reports
description: |
  Отчёты: Sales / Stock / Profit / ABC. Создаём контролируемый набор
  операций (Enter 100@30, RetailSale 10@500, Loss 5@30), проверяем
  числа в отчётах. Экспорт CSV/XLSX. Edge: пустой период, фильтр
  по складу/группе.

preconditions:
  reset_db: false
  smoke_login_super_admin: false

steps:
  - id: rep01_setup
    title: 1 org + продукт + Enter 100@30 + RetailSale 10@500 + Loss 5@30 → известные числа
  - id: rep02_sales_report
    title: GET /api/reports/sales — revenue = 10×500 = 5000, transactions ≥ 1
  - id: rep03_stock_report
    title: GET /api/reports/stock — текущий остаток = 100 − 10 − 5 = 85
  - id: rep04_profit_report
    title: GET /api/reports/profit — revenue=5000, cost=10×30=300, прибыль=4700
  - id: rep05_abc_report
    title: GET /api/reports/abc — наш единственный товар = class A, rank=1
  - id: rep06_export_csv_xlsx
    title: GET .../export?format=csv → text/csv;  ?format=xlsx → xlsx-mime
  - id: rep07_empty_period
    title: from=to=далёкая дата → пустой массив
  - id: rep08_store_filter
    title: GET /reports/sales?storeId=<другой> → 0 строк
