Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
165 lines
10 KiB
Markdown
165 lines
10 KiB
Markdown
# E2E report: full-chain
|
||
|
||
Запущен: 2026-10-07T19:19:39.366Z
|
||
Длительность: 12.9с
|
||
|
||
**Итог:** 3 ✓ / 2 ✗ / 0 ⚠ / 11 ◯ (всего 16)
|
||
|
||
## ✓ Step step01_register_and_login: Регистрация организации → вход владельцем → простой режим (скрытые модули 403)
|
||
|
||
Длительность: 2582мс
|
||
|
||
| Тип | Проверка | Результат |
|
||
|---|---|---|
|
||
| api | Регистрация организации e2e-fullchain + вход владельцем | ✓ ожид=token факт=token |
|
||
| api | /api/me: роль Admin | ✓ ожид=Admin факт=Admin |
|
||
| api | Простой режим включён (advancedMode=false) | ✓ ожид=false факт=false |
|
||
| api | Скрытый модуль недоступен: приёмка оптовых отгрузок (demands) | ✓ ожид=403 advanced-mode-required факт=403 https://food-market.kz/errors/advanced-mode-required |
|
||
| api | Скрытый модуль недоступен: перемещения (transfers) | ✓ ожид=403 advanced-mode-required факт=403 https://food-market.kz/errors/advanced-mode-required |
|
||
| api | Скрытый модуль недоступен: акции (promotions) | ✓ ожид=403 advanced-mode-required факт=403 https://food-market.kz/errors/advanced-mode-required |
|
||
| api | Скрытый модуль недоступен: ABC-отчёт | ✓ ожид=403 advanced-mode-required факт=403 https://food-market.kz/errors/advanced-mode-required |
|
||
|
||
## ✗ Step step02_catalog_and_supplier: Справочники — группа, 5 товаров (разные ед.изм., 1 весовой) + цены + штрихкоды; поставщик
|
||
|
||
Длительность: 2941мс
|
||
|
||
| Тип | Проверка | Результат |
|
||
|---|---|---|
|
||
| api | Валюта KZT в справочнике | ✓ ожид=KZT факт=есть |
|
||
| api | Магазин (склад) существует | ✓ ожид=≥1 факт=1 |
|
||
| api | Единицы измерения доступны (≥5 различных) | ✓ ожид=≥5 факт=5 |
|
||
| api | Группа товаров создана | ✓ ожид=200+id факт=201 |
|
||
| api | Товар №3 создан | ✗ ожид=200 факт=400 |
|
||
| api | Создано 5 товаров (разные ед.изм.) | ✗ ожид=5 факт=4 |
|
||
| api | Один товар весовой (дробное кол-во) | ✓ ожид=1 факт=1 |
|
||
| api | Товар находится по штрихкоду | ✓ ожид=200 факт=200 |
|
||
| api | Поставщик создан (БИН+телефон) | ✓ ожид=200+id факт=201 |
|
||
|
||
## ✗ Step step02a_employees_and_points: Сотрудники (кассир/кладовщик/админ) + 2 точки продаж; права (API 403); правка/пароль/блокировка
|
||
|
||
Длительность: 5736мс
|
||
|
||
| Тип | Проверка | Результат |
|
||
|---|---|---|
|
||
| api | Системные роли Кассир/Кладовщик есть | ✓ ожид=есть факт=Администратор,Кладовщик,Кассир |
|
||
| api | Точка продаж создана: Касса-1 fc1791400779365 | ✓ ожид=200+id факт=201 |
|
||
| api | Точка продаж создана: Касса-2 fc1791400779365 | ✓ ожид=200+id факт=201 |
|
||
| api | Точка 2: переименование + деактивация | ✓ ожид=200 факт=204 |
|
||
| api | Точка 2: повторная активация | ✓ ожид=200 факт=204 |
|
||
| api | Сотрудник создан: Кассир | ✓ ожид=200+пароль факт=ok |
|
||
| api | Сотрудник создан: Кладовщик | ✓ ожид=200+пароль факт=ok |
|
||
| api | Сотрудник создан: Администратор | ✓ ожид=200+пароль факт=ok |
|
||
| api | Кассир → деньги 403 | ✗ ожид=403 факт=200 |
|
||
| api | Кассир → сотрудники/настройки 403 | ✓ ожид=403 факт=403 |
|
||
| api | Кассир → продажи доступны | ✓ ожид=200 факт=200 |
|
||
| api | Кладовщик → деньги 403 | ✓ ожид=403 факт=403 |
|
||
| api | Кладовщик → приёмки доступны | ✓ ожид=200 факт=200 |
|
||
| api | Правка сотрудника (ФИО/тел/должность) | ✗ ожид=200 факт=404 |
|
||
| api | Блокировка (увольнение) сотрудника | ✗ ожид=200 факт=404 |
|
||
| api | Заблокированный кассир не получает токен | ✗ ожид=отказ факт=200 |
|
||
|
||
## ✓ Step step03_money_accounts: Деньги — касса, банковский счёт (номер), эквайринг; начальные остатки
|
||
|
||
Длительность: 952мс
|
||
|
||
| Тип | Проверка | Результат |
|
||
|---|---|---|
|
||
| api | Касса магазина создана (Cash, нач.остаток 50000) | ✓ ожид=200+id факт=201 |
|
||
| api | Банковский счёт создан (Bank, номер, нач.остаток 200000) | ✓ ожид=200+id факт=201 |
|
||
| api | Счёт эквайринга создан (Acquiring) | ✓ ожид=200+id факт=201 |
|
||
| api | Для 2-й точки созданы своя касса и эквайринг | ✓ ожид=2 счёта факт=201/201 |
|
||
| api | Отчёт «Деньги»: касса currentBalance = начальный остаток | ✓ ожид=50000 факт=50000 |
|
||
| api | Отчёт «Деньги»: банк currentBalance = начальный остаток | ✓ ожид=200000 факт=200000 |
|
||
|
||
## ✓ Step step04_initial_supplier_debt: Начальный долг поставщику через корректировку взаиморасчётов (WeOwe) → долг = сумме
|
||
|
||
Длительность: 734мс
|
||
|
||
| Тип | Проверка | Результат |
|
||
|---|---|---|
|
||
| api | Корректировка взаиморасчётов создана (WeOwe 100000) | ✓ ожид=200+id факт=201 |
|
||
| api | Корректировка проведена | ✓ ожид=204 факт=204 |
|
||
| api | Долг поставщика = 100000 (только начальный) | ✓ ожид=100000 факт=100000 |
|
||
|
||
## ◯ Step step05_supply1_manual: Приёмка №1 вручную (кладовщик) → провести → остатки +кол-во; себестоимость
|
||
|
||
Длительность: 1мс
|
||
|
||
## ◯ Step step06_supply2_excel: Приёмка №2 из табличной накладной (поставщик не указан → «Поставщик не указан») → провести
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step06_supply2_excel не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step07_supply3_photo: Приёмка №3 по фото-накладной → ручное сопоставление → провести; снимки удалены с диска
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step07_supply3_photo не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step08_supplier_payments: Оплата — №1 частично нал из кассы, №2 полностью с банка; статусы + долг = формуле
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step08_supplier_payments не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step09_cashier_shift: Смена — размен, 3 продажи (нал/карта/смеш), oversell→отказ, возврат, внесение/выплата, закрытие с расхождением + Z; продажа без смены→отказ
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step09_cashier_shift не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step09a_points_binding: Привязка кассира к точкам; параллельные смены на 2 точках не смешивают деньги; продажа на неактивной→отказ
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step09a_points_binding не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step10_warehouse_ops: Склад — оприходование излишка, списание брака, инвентаризация CSV (часть товаров): непосчитанные не обнулены
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step10_warehouse_ops не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step11_reports: Отчёты — продажи за день, прибыль, остатки на дату, «Деньги», долги; по точкам/кассирам
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step11_reports не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step12_invariants: Инварианты — остаток≡Σдвижений; счёт≡начальный+Σопераций; долг≡формуле; изоляция орг
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step12_invariants не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step13_cancel_rollback: Отмена/откат — отмена приёмки с проданным товаром→отказ; отмена платежа→долг вернулся
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step13_cancel_rollback не найден в full-chain.steps.ts
|
||
|
||
## ◯ Step step14_finalize: Финал — скриншоты ключевых экранов, деактивация e2e-сущностей (режим B)
|
||
|
||
Длительность: 0мс
|
||
|
||
> Handler step14_finalize не найден в full-chain.steps.ts
|
||
|
||
## Summary
|
||
|
||
- Passed: 3
|
||
- Failed: 2
|
||
- Warnings: 0
|
||
- Skipped: 11
|
||
|
||
## Critical bugs
|
||
|
||
### CRITICAL
|
||
|
||
- **[02] Товар №3 не создан**
|
||
- 400 {"error":"Штрихкод 2791400779372 уже используется товаром «Товар 2 fc1791400779365»."}
|
||
- **[02a] Кассир видит деньги/настройки**
|
||
- money=200 emps=403
|
||
- **[02a] Заблокированный сотрудник всё ещё входит**
|
||
- token выдан (200)
|