name: full-cycle description: | Полный цикл от создания организации до розничной продажи. 12 шагов: SuperAdmin создаёт орг и admin'a → admin создаёт сотрудников → Cashier пробует зайти (role-guard) → admin создаёт контрагента, склад/кассу → приёмка с 3-5 товарами → проверка остатков → розничная продажа → проверка остатков уменьшилась. preconditions: reset_db: true smoke_login_super_admin: true steps: - id: step01_create_organization title: SuperAdmin создаёт «Test Shop {timestamp}» (KZ, KZT, ФЛК телефона) - id: step02_create_first_admin title: SuperAdmin создаёт первого Admin сотрудника организации (Employee + AppUser) - id: step03_login_as_admin title: Логин под admin (не SuperAdmin override) — JWT с org_id и role=Admin - id: step04_create_storekeeper_and_cashier title: Admin создаёт Storekeeper и Cashier через /settings/employees - id: step05_login_as_cashier title: Логин под Cashier — role-guard проверяется (sidebar/role guard) - id: step06_create_counterparty title: Admin создаёт «ТОО Тест Поставщик» (БИН + телефон) - id: step07_ensure_main_store title: Проверить что есть main store (из bootstrap), иначе создать - id: step08_create_supply title: Admin создаёт Supply Draft (3-5 товаров) и проводит (Posted) - id: step09_check_stock_after_supply title: GET /api/inventory/stock — quantity увеличился на supplied amount - id: step10_ensure_retail_point title: Проверить или создать розничную точку (кассу) - id: step11_create_retail_sale title: Admin создаёт RetailSale, 2 позиции из приёмки, cash, Post - id: step12_check_stock_after_sale title: GET /api/inventory/stock — quantity уменьшился на sold amount