Não está compilando
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!