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-сервера"