food-market/tests/e2e/reports/moysklad-import-2026-05-26T06-29-16-433Z.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

4.9 KiB
Raw Blame History

E2E report: moysklad-import

Запущен: 2026-05-26T06:29:04.213Z Длительность: 10.6с

Итог: 7 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 7)

✓ Step step01_bootstrap_and_connect: Орг + mock MoySklad + сохранение токена (маскирование) + test-connection 200

Длительность: 1305мс

Тип Проверка Результат
api Mock MoySklad поднят http://127.0.0.1:5099/api/remap/1.2/
api PUT settings → hasToken + маска ✓ status=200 masked=mock••••••••abcd
api GET settings не отдаёт сырой токен ✓ masked=mock••••••••abcd
api POST test → 200, имя орги из mock ✓ status=200 org={"organization":"Mock Org 1779776944213","inn":"600700800900"}

✓ Step step02_import_counterparties_create: Импорт контрагентов: job Succeeded, Created=2, маппинг полей верен

Длительность: 3930мс

Тип Проверка Результат
api import-counterparties → jobId ✓ status=200
api job Succeeded ✓ status=Succeeded msg=Готово: 2 записей, 0 пропущено.
api Created=2, Skipped=0 ✓ created=2 updated=0 skipped=0
db В БД 2 контрагента ✓ count=2
db Ромашка: Type=1(LegalEntity), Bin=inn, TaxNumber=kpp ✓ Type=1 Bin=123456789012 Tax=KPP001
db Ромашка: LegalName=legalTitle, Address=actualAddress, Notes=description ✓ Legal=Товарищество Ромашка 1779776944213 Addr=Алматы Абая 1
db Иванов: Type=2(Individual), Address=legalAddress (fallback) ✓ Type=2 Addr=Астана Победы 5

✓ Step step03_import_counterparties_idempotent: Повторный импорт (overwrite=false): Skipped=2, дублей нет

Длительность: 907мс

Тип Проверка Результат
api job Succeeded ✓ status=Succeeded
api Skipped=2, Created=0 (идемпотентность по имени) ✓ created=0 skipped=2
db Дублей нет — в БД по-прежнему 2 ✓ count=2

✓ Step step04_import_counterparties_overwrite: Импорт overwrite=true с изменёнными данными: Updated=2, поля обновлены

Длительность: 1191мс

Тип Проверка Результат
api job Succeeded ✓ status=Succeeded
api Updated=2, Created=0 ✓ created=0 updated=2 skipped=0
db Телефон Ромашки обновлён на новый ✓ phone=+77011112299
db Кол-во не выросло (обновление, не вставка) ✓ count=2

✓ Step step05_import_products_create: Импорт товаров: Created=1, группа создана, маппинг (артикул/НДС/цена/штрихкод/группа/страна)

Длительность: 2178мс

Тип Проверка Результат
api import-products → jobId ✓ status=200
api job Succeeded ✓ status=Succeeded msg=Готово: 1 записей (создано/обновлено), 0 пропущено, 1 групп. errors=[]
api Created=1, GroupsCreated>=1 ✓ created=1 groups=1
db Товар создан с артикулом из MoySklad ✓ id=81fa3d5b-8d2a-492f-9b72-ee467af12b4f
db Vat=12, Packaging=1(Piece, weighed=false), IsMarked=false ✓ vat=12.00 pack=1 marked=f
db ReferencePrice = buyPrice/100 = 250 ✓ ref=250.0000
db Группа = productFolder «Бакалея» ✓ group=Бакалея 1779776944213
db CountryOfOrigin сопоставлена по имени ✓ country=2b209c11-c7ed-415d-9947-c8b6604f712e expected=2b209c11-c7ed-415d-9947-c8b6604f712e
db Розничная цена = 320 (salePrice «Розничная»/100) ✓ amount=320.0000
db Штрихкод ean13 импортирован ✓ bc=2069470270014 expected=2069470270014

✓ Step step06_import_products_idempotent: Повторный импорт товаров (overwrite=false): Skipped=1, дублей нет

Длительность: 1134мс

Тип Проверка Результат
api job Succeeded ✓ status=Succeeded
api Skipped=1, Created=0 (идемпотентность по артикулу) ✓ created=0 skipped=1
db Кол-во товаров не изменилось (дублей нет) ✓ before=1 after=1

✓ Step step07_cleanup: Остановка mock-сервера

Длительность: 2мс

Тип Проверка Результат
api Mock MoySklad остановлен

Summary

  • Passed: 7
  • Failed: 0
  • Warnings: 0
  • Skipped: 0

Critical bugs

Нет.