in src/it/java/com/epam/digital/data/platform/usrtaskmgt/controller/UserTaskControllerIT.java [317:353]
void shouldSignCitizenForm() throws Exception {
mockGetExtendedTask(fileContent("/json/getSignableTaskWithValidationPack.json"));
var processInstanceId = "processInstanceId";
var token = tokenConfig.getValueWithRoleCitizen();
var payload = String.format("{\"data\":{},\"x-access-token\":\"%s\"}", token);
mockGetForm();
mockValidationValidFormData("{}", processInstanceId);
var requestBody = matchingJsonPath("$.allowedSubjects",
equalToJson("[\"ENTREPRENEUR\"]"));
mockCitizenDigitalSignature(requestBody, 200, "{\"valid\":true}");
mockCompleteTask(200, "{\"id\":\"" + TASK_ID + "\","
+ "\"processInstanceId\":\"" + processInstanceId + "\","
+ "\"rootProcessInstanceId\":\"" + processInstanceId + "\","
+ "\"rootProcessInstanceEnded\":false,"
+ "\"variables\":{\"var1\":{\"value\":\"variableValue\"}}}");
var request = post("/api/citizen/task/" + TASK_ID + "/sign-form")
.accept(MediaType.APPLICATION_JSON_VALUE).contentType("application/json")
.content(payload);
var response = performWithTokenCitizenRole(request).andExpect(status().is2xxSuccessful())
.andReturn().getResponse().getContentAsString();
var expected = CompletedTaskResponse.builder()
.id(TASK_ID)
.processInstanceId(processInstanceId)
.rootProcessInstanceId(processInstanceId)
.rootProcessInstanceEnded(false)
.variables(Map.of("var1", VariableValueResponse.builder().value("variableValue").build()))
.build();
var actual = objectMapper.readValue(response, CompletedTaskResponse.class);
assertThat(actual).isEqualTo(expected);
}