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
