OBS: Em uma requisição normal, passando o mesmo id que não existe, consigo obter o resultado experado (404)
![]( )
Controller
@GetMapping("/{id}")
public ResponseEntity detalhar(@PathVariable Long id){
return service.detalhar(id);
}
Service
public ResponseEntity detalhar(Long id){
var video = repository.getReferenceById(id);
return ResponseEntity.ok(new DadosDetalhamentoVideo(video));
}
Controller Advice
@ExceptionHandler(EntityNotFoundException.class)
public ResponseEntity tratarErro404(){
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Recurso não encontrado");
}
Case Test
@Test
@DisplayName("DEVE RETORNAR CÓDIGO 400 QUANDO FOR PASSADO UM ID E ELE NÃO EXISTIR")
void detalharVideoCenario2() throws Exception{
var response = mvc.perform(
MockMvcRequestBuilders.get("/videos").param("id", "1010")
).andReturn().getResponse();
assertThat(response.getStatus()).isEqualTo(HttpStatus.NOT_FOUND.value());
}