Commit 1102bfd3 by Rubén Ramírez

feat: [TestRecursosController]: Actualizado el tesr la función del controlador…

feat: [TestRecursosController]: Actualizado el tesr la función del controlador de buscar por Id para incrementar el número de accesos
parent 4825fdab
......@@ -305,7 +305,7 @@ public class TestRecursosController {
@Test
@DirtiesContext
void testBuscarRecursoPorId() {
// Creo un administrador
// Creo un administrador
restTemplate.postForEntity("/usuarios/", Map.of(
"email", "admin@example.com",
"nombreUsuario", "admin",
......@@ -326,8 +326,8 @@ public class TestRecursosController {
MultiValueMap<String, Object> formData = new LinkedMultiValueMap<>();
DTORecurso dtoRecurso = new DTORecurso(
null, "Titulo Buscado", "Descripción", LocalDate.now(), "Autor",
null,new HashSet<>()
);
null, new HashSet<>()
);
formData.add("recurso", dtoRecurso);
formData.add("foto", new ByteArrayResource(new byte[0]) {
@Override
......@@ -340,7 +340,7 @@ public class TestRecursosController {
var respuestaCreacion = restTemplate.exchange("/recursos/", HttpMethod.POST, request, Void.class);
assertThat(respuestaCreacion.getStatusCode()).isEqualTo(HttpStatus.CREATED);
// Realizo la búsqueda por título para obtener el ID del recurso
ResponseEntity<DTORecurso[]> respuestaBusqueda = restTemplate.getForEntity(
"/recursos/titulo/Titulo Buscado", DTORecurso[].class
);
......@@ -349,20 +349,46 @@ public class TestRecursosController {
Long recursoId = respuestaBusqueda.getBody()[0].getId();
//Busco por id que si encontraremos
ResponseEntity<DTORecurso> respuestaPorId = restTemplate.exchange(
// Verifico que el contador de accesos esté en 0 inicialmente
ResponseEntity<DTORecurso> respuestaPorIdAntes = restTemplate.exchange(
"/recursos/{id}", HttpMethod.GET, null, DTORecurso.class, recursoId
);
assertThat(respuestaPorIdAntes.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaPorIdAntes.getBody().getId()).isEqualTo(recursoId);
// Verifico el contador de accesos antes del primer acceso
int contadorAntes = respuestaPorIdAntes.getBody().getContadorAccesos();
assertThat(contadorAntes).isEqualTo(1);
// Accedo al recurso
restTemplate.exchange(
"/recursos/{id}", HttpMethod.GET, null, DTORecurso.class, recursoId
);
// Verifico que el contador de accesos haya aumentado
ResponseEntity<DTORecurso> respuestaPorIdDespues = restTemplate.exchange(
"/recursos/{id}", HttpMethod.GET, null, DTORecurso.class, recursoId
);
assertThat(respuestaPorIdDespues.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaPorIdDespues.getBody().getContadorAccesos()).isEqualTo(3);
// Accedo de nuevo para asegurarme de que el contador aumente otra vez
restTemplate.exchange(
"/recursos/{id}", HttpMethod.GET, null, DTORecurso.class, recursoId
);
assertThat(respuestaPorId.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaPorId.getBody()).isNotNull();
assertThat(respuestaPorId.getBody().getId()).isEqualTo(recursoId);
//Busco por id que no encontraremos
// Verifico que el contador de accesos haya aumentado
ResponseEntity<DTORecurso> respuestaPorIdDespuesSegundoAcceso = restTemplate.exchange(
"/recursos/{id}", HttpMethod.GET, null, DTORecurso.class, recursoId
);
assertThat(respuestaPorIdDespuesSegundoAcceso.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaPorIdDespuesSegundoAcceso.getBody().getContadorAccesos()).isEqualTo(5);
// Busco por id que no encontraremos
ResponseEntity<Void> respuestaNoEncontrada = restTemplate.exchange(
"/recursos/{id}", HttpMethod.GET, null, Void.class, 9999
);
assertThat(respuestaNoEncontrada.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment