# E2E report: stage-supplier-return

Запущен: 2026-05-29T12:21:13.101Z
Длительность: 11.1с

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

## ✓ Step sr01_setup: 2 org. У orgA — supplier (Legal), продукт, проведённый Supply qty=50 → Stock=50

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

| Тип | Проверка | Результат |
|---|---|---|
| api | Initial Stock=50 у org A | ✓ 50 |

## ✓ Step sr02_create_draft: POST /api/purchases/supplier-returns Draft → 201; total корректный

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

| Тип | Проверка | Результат |
|---|---|---|
| api | POST supplier-returns → 201 | ✓ 201 {"id":"5135b22b-b5da-46ac-8492-b19ed37e085e","number":"ВП-2026-000001","date":"2026-05-29T12:21:21.605Z","status":0,"supplierId":"b307e91e-d7e6-4cb6-a5f7-c7e446c68cc5","supplierName":"ТОО Поставщи |
| api | Total = 5*60 = 300 | ✓ total=300 |
| api | Status = Draft (0) | ✓ status=0 |

## ✓ Step sr03_update_draft: PUT — заменить строки (фикс EF8 ExecuteDelete+DbSet.Add) → 204

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

| Тип | Проверка | Результат |
|---|---|---|
| api | PUT supplier-return → 204 (фикс EF8) | ✓ 204  |
| api | После PUT: total=600 | ✓ total=600 |

## ✓ Step sr04_post_stock_down: POST /post → 204; Stock -= qty; StockMovement type=SupplierReturn

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

| Тип | Проверка | Результат |
|---|---|---|
| api | POST /post → 204 | ✓ 204  |
| api | Stock -= 10 (50→40) | ✓ 50 → 40 |
| api | StockMovement type=SupplierReturn создан | ✓ count=1 type=SupplierReturn |

## ✓ Step sr05_post_more_than_stock: Возврат больше stock → 409 «Нельзя вернуть больше, чем есть на складе»

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

| Тип | Проверка | Результат |
|---|---|---|
| api | Возврат > остатка → 409 | ✓ 409 {"error":"Нельзя вернуть больше, чем есть на складе.","lines":[{"productId":"4d39b14e-3912-4e28-a52a-c5dfd301b643","productName":"SR Prod a 1780057273101","returnQty":140,"available":40}]} |

## ✓ Step sr06_reference_supply_validation: ReferenceSupplyId должен быть проведён, supplier должен совпадать → 400 при несовпадении

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

| Тип | Проверка | Результат |
|---|---|---|
| api | ReferenceSupplyId с другим supplier → 400 | ✓ 400 {"error":"Поставщик возврата должен совпадать с поставщиком исходной приёмки.","field":"supplierId"} |

## ✓ Step sr07_unpost: POST /unpost → 204; Stock += обратно

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

| Тип | Проверка | Результат |
|---|---|---|
| api | POST /unpost → 204 | ✓ 204 |
| api | Stock += 10 обратно | ✓ 40 → 50 |
| api | Status = Draft (0) | ✓ status=0 |

## ✓ Step sr08_multi_tenant_isolation: Org B не видит supplier-return org A; POST /post чужого → 404

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

| Тип | Проверка | Результат |
|---|---|---|
| api | Org B не видит supplier-return org A | ✓ total=0 sees=false |
| api | GET чужого id → 404 | ✓ 404 |
| api | POST /post чужого → 404 | ✓ 404 |

## Summary

- Passed: 8
- Failed: 0
- Warnings: 0
- Skipped: 0

## Critical bugs

Нет.
