update
ID existente:
Atente-se ao código, criamos um ProductDto e alocamos ele no JSON (usando ObjectMapper), pegamos o nome esperado + uma descrição esperada para testar no final (assertion).
ID não existente:
Atualizado
ID existente:
Atente-se ao código, criamos um ProductDto e alocamos ele no JSON (usando ObjectMapper), pegamos o nome esperado + uma descrição esperada para testar no final (assertion).
@Test
public void updateShouldReturnProductDtoWhenIdExists() throws Exception {
ProductDTO dto = Factory.createProductDTO();
String jsonBody = objectMapper.writeValueAsString(dto);
//salvamos o nome e descrição do DTO acima antes de salvá-lo no banco
//e testamos no Expect ali embaixo para ver se após o PUT, o nome vai ficar igual
String expectedName = dto.getName();
String expectedDescription = dto.getDescription();
ResultActions result =
mockMvc.perform(put("/products/{id}", existingId)
.content(jsonBody)
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON));
result.andExpect(status().isOk());
result.andExpect(jsonPath("$.id").value(existingId));
result.andExpect(jsonPath("$.name").value(expectedName));
result.andExpect(jsonPath("$.description").value(expectedDescription));
}
ID não existente:
@Test
public void updateShouldReturnNotFoundWhenIdDoesNotExists() throws Exception {
ProductDTO dto = Factory.createProductDTO();
String jsonBody = objectMapper.writeValueAsString(dto);
ResultActions result =
mockMvc.perform(put("/products/{id}", nonExistingId)
.content(jsonBody)
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON));
result.andExpect(status().isNotFound());
}
Atualizado