	@Test
	@DisplayName("Deve atualizar as informações de um produto obtido a partir do seu identificador único")
	public void deveAtualizarProduto() throws Exception {

		Long produtoId = 1L;
		
		Produto produto = new Produto();
		produto.setId(produtoId);
		produto.setNome("Produto");
		
		Mockito.when(storage.update(Mockito.anyLong(), Mockito.any(Produto.class))).thenReturn(produto);
		
		ObjectMapper objectMapper = new ObjectMapper();
		String produtoJson = objectMapper.writeValueAsString(produto);
		
		MvcResult mvcResult = mvc
				.perform(MockMvcRequestBuilders.put(
						String.format("/produtos/%s", produtoId))
						.content(produtoJson)
						.contentType(MediaType.APPLICATION_JSON)
						.accept(MediaType.APPLICATION_JSON))
						.andExpect(status().isOk()).andReturn();
		
		Produto produtoObtido = objectMapper.readValue(mvcResult.getResponse().getContentAsString(), Produto.class);
		
		assertEquals(produto.getId(), produtoObtido.getId());
		assertEquals(produto.getNome(), produtoObtido.getNome());
	}