422 e mensagens customizadas com dados inválidos quando logado como admin
A partir de agora, todos os exercícios voltaram 422 mas em virtude de algo errado, como name (neste caso, price ou algo do tipo). Portanto, a única coisa que muda é o início, onde settaremos o DTO para o que quisermos.
@Test
public void insertShouldReturnUnprocessableEntityWhenInvalidDataLoggedAsAdminAndInvalidName() throws Exception {
productDTO.setName(" ");
String jsonBody = objectMapper.writeValueAsString(productDTO);
ResultActions result =
mockMvc.perform(post("/products")
.header("Authorization", "Bearer " + adminToken)
.content(jsonBody)
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON));
result.andExpect(status().isUnprocessableEntity());
}
Outros exemplos seria: campo description inválido, preço negativo ou igual a zero.
Atualizado