640a633722
Покрытие: all-success, classification (record_not_active → skipped, другие OrdinisException + unexpected → errors), дедуп дубликатов внутри batch'а, blank/null business_key → skipped invalid_key, передача at/reason в service, mixed results, empty batch, preservation порядка (audit consistency). Mockito не может мокать DictionaryRecordService на Java 17+ (Mockito inline-mock limitation для классов из standard distribution). Workaround: анонимный subclass с null deps в конструкторе — переопределённый close() не обращается к ним. routedStub() helper для per-key поведения через Map<businessKey, Exception>. Прогон: 60/60 в rest-api модуле (было 50, +10).