Não está compilando
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Não está compilando
Oi Lucas, tudo bem?
Testei por aqui e realmente tava dando erro. Para que os tipos sejam compatíveis, precisamos utilizar headers do HTTP, e não o MediaType diretamente. O código fica da seguinte forma:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class AdocaoControllerIntegrationTest {
@Autowired
private TestRestTemplate restTemplate;
@Test
void deveriaDevolverCodigo400ParaSolicitacaoDeAdocaoComErros() {
// ARRANGE
String json = "{}";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// ACT
ResponseEntity<Void> response = restTemplate.exchange(
"/adocoes",
HttpMethod.POST,
new HttpEntity<>(json, headers),
Void.class
);
// ASSERT
Assertions.assertEquals(HttpStatus.BAD_REQUEST, response.getStatusCode());
}
@Test
void deveriaDevolverCodigo200ParaSolicitacaoDeAdocaoSemErros() {
// ARRANGE
String json = """
{
"idPet": 1,
"idTutor": 1,
"motivo": "Motivo qualquer"
}
""";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// ACT
ResponseEntity<Void> response = restTemplate.exchange(
"/adocoes",
HttpMethod.POST,
new HttpEntity<>(json, headers),
Void.class
);
// ASSERT
Assertions.assertEquals(HttpStatus.OK, response.getStatusCode());
}
}
Já alterei lá na atividade, muito obrigada por avisar!
Abraços e bons estudos!