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>
31 lines
2 KiB
YAML
31 lines
2 KiB
YAML
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-сервера"
|