in src/it/java/com/epam/digital/data/platform/usrprcssmgt/ProcessDefinitionManagementIT.java [147:192]
void startProcessInstanceWithForm() {
var processInstanceId = "processInstanceId";
var processDefinitionId = "processDefinitionId";
var processDefinitionKey = "testKey";
mockBpmsRequest(StubRequest.builder()
.method(HttpMethod.GET)
.path(urlPathEqualTo("/api/extended/process-definition/key/testKey"))
.status(200)
.responseBody("{\"id\":\"processInstanceId\",\"name\":\"name1\",\"formKey\":\"formKey\"}")
.responseHeaders(Map.of("Content-Type", List.of("application/json")))
.build());
mockBpmsRequest(StubRequest.builder()
.method(HttpMethod.POST)
.path(
urlPathEqualTo(
String.format("/api/process-definition/key/%s/start", processDefinitionKey)))
.status(200)
.responseBody(String.format("{ \"id\":\"%s\", \"definitionId\":\"%s\", \"ended\":false }",
processInstanceId, processDefinitionId))
.responseHeaders(Map.of("Content-Type", List.of("application/json")))
.build());
var payload = "{\"data\":{\"formData\":\"testData\"},"
+ "\"signature\":\"eSign\","
+ "\"x-access-token\":\"" + tokenConfig.getValueWithRoleOfficer() + "\"}";
mockPutStartFormCephKey(payload);
mockValidationFormData(200, payload);
mockGetForm("{\"components\":[{\"key\":\"name\",\"type\":\"textfield\"},"
+ "{\"key\":\"createdDate\",\"type\":\"day\"}]}");
var request =
post(String.format("/api/process-definition/%s/start-with-form", processDefinitionKey))
.accept(MediaType.APPLICATION_JSON_VALUE).contentType("application/json")
.content(payload);
var result = performForObjectAsOfficer(request, StartProcessInstanceResponse.class);
var expectedResponse = StartProcessInstanceResponse.builder()
.id(processInstanceId)
.processDefinitionId(processDefinitionId)
.ended(false)
.build();
assertThat(result).isEqualTo(expectedResponse);
}