Commit 0fa6d82c by Rubén Ramírez

fix: [TestServicioRecurso]: Testeada la función para obtener las reseñas

parent 72674745
...@@ -663,26 +663,52 @@ public class TestServicioRecursos { ...@@ -663,26 +663,52 @@ public class TestServicioRecursos {
// Añado la reseña al recurso // Añado la reseña al recurso
servicioRecursos.anadirResena(resena); servicioRecursos.anadirResena(resena);
recurso = servicioRecursos.buscarRecursoPorId(recurso.getId());
// Asegúrate de cargar las reseñas antes de realizar las aserciones
recurso = servicioRecursos.buscarRecursoPorId(recurso.getId()); // Carga el recurso y sus reseñas
// Verifico que la reseña se haya añadido correctamente // Verifico que la reseña se haya añadido correctamente
assertThat(recurso.getResenas()).hasSize(1); assertThat(recurso.getResenas()).hasSize(1);
assertThat(recurso.getResenas().get(0).getTexto()).isEqualTo("Muy buen manga"); assertThat(recurso.getResenas().get(0).getTexto()).isEqualTo("Muy buen manga");
assertThat(recurso.getResenas().get(0).getEstrellas()).isEqualTo(5); assertThat(recurso.getResenas().get(0).getEstrellas()).isEqualTo(5);
assertThat(recurso.getResenas().get(0).getUsuario().getEmail()).isEqualTo("usuario@test.com"); assertThat(recurso.getResenas().get(0).getUsuario().getEmail()).isEqualTo("usuario@test.com");
// Verifico que la fecha de publicación se haya establecido correctamente
assertThat(recurso.getResenas().get(0).getFechaPublicacion()).isEqualTo(LocalDate.now()); assertThat(recurso.getResenas().get(0).getFechaPublicacion()).isEqualTo(LocalDate.now());
// Verifico que el recurso se haya actualizado
Recurso recursoActualizado = servicioRecursos.buscarRecursoPorId(recurso.getId()); Recurso recursoActualizado = servicioRecursos.buscarRecursoPorId(recurso.getId());
assertThat(recursoActualizado.getResenas()).hasSize(1); assertThat(recursoActualizado.getResenas()).hasSize(1);
assertThat(recursoActualizado.getResenas().get(0).getTexto()).isEqualTo("Muy buen manga"); assertThat(recursoActualizado.getResenas().get(0).getTexto()).isEqualTo("Muy buen manga");
} }
@Test
@DirtiesContext
@Transactional
void testObtenerResenasDeRecurso() {
// Creo un usuario de prueba
Usuario usuario = new Usuario("usuario@test.com", "Usuario Test", "contraseña123");
servicioUsuarios.crearUsuario(usuario);
// Creo un recurso de prueba
Recurso recurso = new Recurso("Recurso con reseñas", "Descripción", LocalDate.now(), "Autor", new byte[0]);
servicioRecursos.crearRecurso(recurso);
Long recursoId = recurso.getId();
// Añado varias reseñas con fechas diferentes
Resena resena1 = new Resena(usuario, recurso, 4, "Buena reseña");
resena1.setFechaPublicacion(LocalDate.now().minusDays(1));
Resena resena2 = new Resena(usuario, recurso, 5, "Excelente");
resena2.setFechaPublicacion(LocalDate.now());
Resena resena3 = new Resena(usuario, recurso, 3, "Normalita");
resena3.setFechaPublicacion(LocalDate.now().minusDays(2));
servicioRecursos.anadirResena(resena1);
servicioRecursos.anadirResena(resena2);
servicioRecursos.anadirResena(resena3);
// Obtengo las reseñas ordenadas por fecha descendente
List<Resena> resenas = servicioRecursos.obtenerResenasDeRecurso(recursoId);
// Verifico que están ordenadas por fecha de publicación descendente
assertThat(resenas).hasSize(3);
assertThat(resenas.get(0).getTexto()).isEqualTo("Excelente");
assertThat(resenas.get(1).getTexto()).isEqualTo("Buena reseña");
assertThat(resenas.get(2).getTexto()).isEqualTo("Normalita");
}
} }
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