name: documents-edge description: | Краевые случаи документов: защита от overselling, запреты на изменение проведённых документов, валидация платежей, уникальность штрихкодов per-tenant. Это сценарий регрессии для самой опасной зоны — потеря денег/остатков при ошибках в RetailSale/Supply посту. preconditions: reset_db: true smoke_login_super_admin: true steps: - id: step01_bootstrap title: "SuperAdmin создаёт орг Test + admin, делаем product + supply (10 шт по 100 KZT)" - id: step02_post_supply_stock_10 title: "Supply провести: stock=10, ReferencePrice=100, Cost=100" - id: step03_oversell_blocked title: "RetailSale qty=15 (больше остатка 10), POST /post возвращает 409" - id: step04_oversell_stock_unchanged title: "После заблокированного post stock остался 10, StockMovement не добавлен" - id: step05_payment_mismatch_blocked title: "RetailSale с PaidCash+PaidCard не равной Total отвергается на post" - id: step06_edit_posted_supply_blocked title: "PUT проведённой Supply (Posted) возвращает 409" - id: step07_delete_posted_supply_blocked title: "DELETE проведённой Supply возвращает 409" - id: step08_unpost_negative_blocked title: "После Sale qty=5 unpost Supply qty=10 возвращает 409 (stock минус)" - id: step09_barcode_unique_within_org title: "Дубль штрихкода в одной орге, POST второго product отвергается" - id: step10_barcode_per_tenant title: "Тот же штрихкод в другой орге допустим (per-tenant unique)"