food-market/tests/e2e/reports/stock-concurrency-2026-05-26T07-02-53-977Z.md
nns 6098c03e1a docs(e2e): итоговый отчёт 2026-05-26 — 15 сценариев зелёные (124 шага)
Полная регрессия всех сценариев + 6 новых областей этой сессии (employees,
roles, superadmin-console, platform-smtp, auth-password, security-edge).
За день исправлено 4 бага: уволенный сотрудник логинится (P0), конкурентное
проведение приёмки ломает инвариант (critical), refresh не гасится после
ротации (high), change-owner принимал короткий reason (medium). Нереализованный
по ТЗ функционал (отчёты/склад-документы/POS/permission-authz/login-ratelimit)
зафиксирован как Logic gaps.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 12:05:23 +05:00

60 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# E2E report: stock-concurrency
Запущен: 2026-05-26T07:02:47.787Z
Длительность: 4.9с
**Итог:** 4 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 4)
## ✓ Step step01_bootstrap: Орг + товар + стартовая приёмка qty=5 @100 (Stock=5, Cost=100)
Длительность: 2212мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Bootstrap product создан | ✓ df50a87d-0f25-4fb0-9e35-d5e1077e5fb9 |
| db | Stock.Quantity == Σ StockMovement (invariant) | ✓ stock=5 sum=5 |
| db | Стартовый Stock == 5 | ✓ stock=5 |
| db | Стартовый Cost == 100 | ✓ cost=100 |
## ✓ Step step02_concurrent_distinct_supplies: Две разные приёмки (10@100 и 10@120) одновременно → Stock=25, инвариант, Cost=108
Длительность: 873мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Две приёмки-черновика созданы | ✓ |
| db | Stock.Quantity == Σ StockMovement (invariant) | ✓ stock=25 sum=25 |
| db | Stock == 25 (5 + 10 + 10, без потери приёмки) | ✓ stock=25 sum=25 statuses=204,409 |
| db | Cost == 108 (взвешенное среднее по всем трём приёмкам) | ✓ cost=108 |
## ✓ Step step03_double_post_same_supply: Двойное проведение ОДНОЙ приёмки (7@100) одновременно → применяется один раз
Длительность: 1373мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Приёмка-черновик 7@100 создана | ✓ |
| api | Не более одного успешного проведения | ✓ statuses=204,409 |
| db | Stock вырос ровно на 7 (приёмка применена один раз) | ✓ before=25 after=32 |
| db | Добавлено ровно одно StockMovement | ✓ +1 movements |
| db | Stock.Quantity == Σ StockMovement (invariant) | ✓ stock=32 sum=32 |
## ✓ Step step04_final_invariant: Финальный инвариант Stock == Σ StockMovement
Длительность: 415мс
| Тип | Проверка | Результат |
|---|---|---|
| db | Финальный invariant Stock == Σ StockMovement | ✓ stock=32 sum=32 |
## Summary
- Passed: 4
- Failed: 0
- Warnings: 0
- Skipped: 0
## Critical bugs
Нет.