food-market/tests/e2e/reports/stock-concurrency-2026-05-26T06-28-54-456Z.md
nns f2f64646b1 docs(e2e): финальный системный отчёт 2026-05-26 — все 9 сценариев зелёные
Сводный отчёт systemic-2026-05-26.md + зелёные прогоны всех сценариев
(82 шага, 0 падений). За сессию исправлено: refresh-rotation (TokenId +
zero reuse-leeway), сериализуемое проведение приёмки против lost update,
MoySklad BaseUrl в конфиг. Покрыты впервые: конкурентность приёмок,
дашбордная выручка, импорт MoySklad (идемпотентность/маппинг). Зафиксированы
gap'ы по нереализованным отчётам (профит/ABC/экспорт, ТЗ 2.12).

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

60 lines
2.4 KiB
Markdown
Raw 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-26T06:28:48.064Z
Длительность: 4.9с
**Итог:** 4 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 4)
## ✓ Step step01_bootstrap: Орг + товар + стартовая приёмка qty=5 @100 (Stock=5, Cost=100)
Длительность: 2198мс
| Тип | Проверка | Результат |
|---|---|---|
| api | Bootstrap product создан | ✓ 1903eb84-9c8c-4335-9439-6d8fa6bd2102 |
| 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
Длительность: 903мс
| Тип | Проверка | Результат |
|---|---|---|
| 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) одновременно → применяется один раз
Длительность: 1378мс
| Тип | Проверка | Результат |
|---|---|---|
| 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
Длительность: 441мс
| Тип | Проверка | Результат |
|---|---|---|
| db | Финальный invariant Stock == Σ StockMovement | ✓ stock=32 sum=32 |
## Summary
- Passed: 4
- Failed: 0
- Warnings: 0
- Skipped: 0
## Critical bugs
Нет.