name: stage-inventory
description: |
  Inventory (Инвентаризация) на test.admin.food-market.kz. Создание
  Draft (с автоподтягиванием bookQty из текущего Stock либо ручным
  списком). Update. Post (создание корректирующего StockMovement
  type=InventoryAdjustment на diff). Unpost. Multi-tenant.

preconditions:
  reset_db: false
  smoke_login_super_admin: false

steps:
  - id: inv01_setup
    title: 2 org. У org A — продукт1 (qty=50) + продукт2 (qty=80) через Enter
  - id: inv02_create_draft_autopopulate
    title: POST /api/inventory/inventories без Lines → автозаполнение всех товаров склада с book = текущий stock
  - id: inv03_create_draft_explicit_lines
    title: POST с явными Lines — book подгружается, diff = actual - book
  - id: inv04_update_actual_quantities
    title: PUT — поменять ActualQty по строкам, Diff пересчитан (фикс EF8)
  - id: inv05_post_creates_adjustment_movements
    title: POST /post → 204; StockMovement type=InventoryAdjustment с qty=diff; Stock приведён к фактическому
  - id: inv06_unpost
    title: POST /unpost → 204; Stock восстановлен; Status=Draft
  - id: inv07_multi_tenant_isolation
    title: Org B не видит inventory org A
  - id: inv08_csv_import_gap_check
    title: CSV-импорт фактического — endpoint существует? (logic gap если нет)
