in ddm-bpm-extension/src/it/java/com/epam/digital/data/platform/bpms/extension/it/UserDataValidationErrorDelegateIT.java [33:61]
public void shouldThrowUserDataValidationException() {
var pdKey = "Process_0plk85h";
ProcessInstance process = runtimeService
.startProcessInstanceByKey(pdKey, "1", new HashMap<>());
var tasks = engine.getTaskService().createTaskQuery().processInstanceId(process.getId()).list();
var taskId = tasks.get(0).getId();
var ex = assertThrows(ValidationException.class, () -> taskService.complete(taskId));
var expectedExceptionMsg = String.format(
VALIDATION_ERROR_MSG_PATTERN, pdKey, process.getId(),
"well-readable-activity-id");
assertThat(ex).isNotNull();
assertThat(ex.getMessage()).isEqualTo(expectedExceptionMsg);
assertThat(ex.getDetails()).isNotNull();
assertThat(ex.getDetails().getErrors()).isNotEmpty();
var validationErrors = ex.getDetails().getErrors();
assertThat(validationErrors).hasSize(2);
var validationErrorDto1 = validationErrors.get(0);
assertThat(validationErrorDto1.getMessage()).isEqualTo("test message");
assertThat(validationErrorDto1.getField()).isEqualTo("taxPayerId");
assertThat(validationErrorDto1.getValue()).isEqualTo("value");
var validationErrorDto2 = validationErrors.get(1);
assertThat(validationErrorDto2.getMessage()).isEqualTo("test message2");
assertThat(validationErrorDto2.getField()).isEqualTo("taxPayerId2");
assertThat(validationErrorDto2.getValue()).isEqualTo("value2");
}