in ddm-rrm/src/it/java/com/epam/digital/data/platform/management/MasterVersionFormsControllerIT.java [194:235]
void createForm() {
// define expected form content to create
final var expectedFormContent = context.getResourceContent(
"/versions/master/forms/{formName}/POST/valid-form-master.json");
// perform query
mockMvc.perform(
post("/versions/master/forms/{formName}",
"valid-form-master")
.contentType(MediaType.APPLICATION_JSON)
.content(expectedFormContent)
.accept(MediaType.APPLICATION_JSON)
).andExpectAll(
status().isCreated(),
content().contentType(MediaType.APPLICATION_JSON),
jsonPath("$.name", is("valid-form")),
jsonPath("$.title", is("Valid form"))
);
// get created form
var result = mockMvc.perform(
get("/versions/master/forms/{formName}", "valid-form-master")
.accept(MediaType.APPLICATION_JSON)
).andExpectAll(
status().isOk(),
jsonPath("$.name", is("valid-form")),
jsonPath("$.title", is("Valid form")))
.andReturn()
.getResponse();
// assert that form dates are close to current date
var form = JsonParser.parseString(result.getContentAsString()).getAsJsonObject();
final var created = LocalDateTime.parse(form.get("created").getAsString(),
JacksonConfig.DATE_TIME_FORMATTER).format(JacksonConfig.DATE_TIME_FORMATTER);
final var updated = LocalDateTime.parse(form.get("modified").getAsString(),
JacksonConfig.DATE_TIME_FORMATTER).format(JacksonConfig.DATE_TIME_FORMATTER);
Assertions.assertThat(LocalDateTime.parse(created, JacksonConfig.DATE_TIME_FORMATTER))
.isCloseTo(LocalDateTime.now(), within(1, ChronoUnit.MINUTES));
Assertions.assertThat(LocalDateTime.parse(updated, JacksonConfig.DATE_TIME_FORMATTER))
.isCloseTo(LocalDateTime.now(), within(1, ChronoUnit.MINUTES));
}