food-market/tests/e2e/scenarios/moysklad-import.yml
nns c7ecc39590 test(e2e): scenario moysklad-import + mock-сервер MoySklad
lib/moysklad-mock.ts — минимальный mock JSON-API remap 1.2 (organization/
counterparty/product/productfolder) с полями по MoySkladDtos. Сценарий (7
шагов): сохранение/маскирование токена, test-connection, импорт контрагентов
и товаров через фоновый job, идемпотентность повторного импорта
(overwrite=false → Skipped), обновление по ключу (overwrite=true → Updated),
и проверка маппинга в БД (BIN/тип/адрес контрагента; артикул/НДС/упаковка/
цена/штрихкод/группа/страна товара).

Требует запуск API с MoySklad__BaseUrl=http://127.0.0.1:5099/api/remap/1.2/.

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

31 lines
2 KiB
YAML
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.

name: moysklad-import
description: |
Импорт из МойСклад (ТЗ 2.10): сохранение/маскирование токена, test-connection,
импорт контрагентов и товаров через фоновый job, идемпотентность повторного
импорта (overwrite=false → Skipped), обновление по ключу (overwrite=true →
Updated), и корректность маппинга полей MoySklad → доменные сущности.
MoySkladClient наведён на локальный mock-сервер (MoySklad:BaseUrl), который
отдаёт JSON в формате реального API remap 1.2 (поля сверены с MoySkladDtos /
dev.moysklad.ru). Так проверяем именно нашу логику импорта, не дёргая прод.
preconditions:
reset_db: true
smoke_login_super_admin: true
steps:
- id: step01_bootstrap_and_connect
title: "Орг + mock MoySklad + сохранение токена (маскирование) + test-connection 200"
- id: step02_import_counterparties_create
title: "Импорт контрагентов: job Succeeded, Created=2, маппинг полей верен"
- id: step03_import_counterparties_idempotent
title: "Повторный импорт (overwrite=false): Skipped=2, дублей нет"
- id: step04_import_counterparties_overwrite
title: "Импорт overwrite=true с изменёнными данными: Updated=2, поля обновлены"
- id: step05_import_products_create
title: "Импорт товаров: Created=1, группа создана, маппинг (артикул/НДС/цена/штрихкод/группа/страна)"
- id: step06_import_products_idempotent
title: "Повторный импорт товаров (overwrite=false): Skipped=1, дублей нет"
- id: step07_cleanup
title: "Остановка mock-сервера"