name: stage-supplier-return
description: |
  SupplierReturn (возврат поставщику) на test.admin.food-market.kz.
  Создание Draft, проведение → Stock минус с MovementType.SupplierReturn,
  Unpost, валидация по референсной приёмке (того же supplier'a),
  защита от ухода в минус, multi-tenant.

preconditions:
  reset_db: false
  smoke_login_super_admin: false

steps:
  - id: sr01_setup
    title: 2 org. У orgA — supplier (Legal), продукт, проведённый Supply qty=50 → Stock=50
  - id: sr02_create_draft
    title: POST /api/purchases/supplier-returns Draft → 201; total корректный
  - id: sr03_update_draft
    title: PUT — заменить строки (фикс EF8 ExecuteDelete+DbSet.Add) → 204
  - id: sr04_post_stock_down
    title: POST /post → 204; Stock -= qty; StockMovement type=SupplierReturn
  - id: sr05_post_more_than_stock
    title: Возврат больше stock → 409 «Нельзя вернуть больше, чем есть на складе»
  - id: sr06_reference_supply_validation
    title: ReferenceSupplyId должен быть проведён, supplier должен совпадать → 400 при несовпадении
  - id: sr07_unpost
    title: POST /unpost → 204; Stock += обратно
  - id: sr08_multi_tenant_isolation
    title: Org B не видит supplier-return org A; POST /post чужого → 404
