Commit a43ec7fc by Rubén Ramírez

feat: [ServicioRecursos]: Añadida la función para obtener capítulos con su test

parent 446aa6b4
......@@ -122,7 +122,8 @@ public class ServicioRecursos {
}
}
@Transactional(readOnly = true)
public List<Capitulo> obtenerCapitulosDeRecurso(Long recursoId) {
return repositorioCapitulo.obtenerCapitulosRecurso(recursoId);
}
}
......@@ -273,5 +273,41 @@ public class TestServicioRecursos {
assertThrows(RecursoNoExiste.class, () -> servicioRecursos.anadirCapitulo(9999L, new Capitulo(6, "Capítulo 6", TipoRecurso.MANGA, Arrays.asList(new FuenteCapitulo("Hulu", "https://hulu.com/cap6")), recursoGuardado)));
}
@Test
@DirtiesContext
void testObtenerCapitulosDeRecurso() {
// Creo un recurso
Recurso recurso = new Recurso("Manga Prueba", "Sinopsis", LocalDate.now(), "Autor X");
servicioRecursos.crearRecurso(recurso);
List<Recurso> recursos = servicioRecursos.buscarRecursoPorTitulo("Manga Prueba");
assertThat(recursos).isNotEmpty();
Recurso recursoGuardado = recursos.getFirst();
Long recursoId = recursoGuardado.getId();
assertThat(recursoId).isNotNull();
servicioRecursos.anadirCapitulo(recursoId, new Capitulo(1, "Capítulo 1", TipoRecurso.MANGA,
Arrays.asList(new FuenteCapitulo("Crunchyroll", "https://crunchyroll.com/cap1")), recursoGuardado));
servicioRecursos.anadirCapitulo(recursoId, new Capitulo(2, "Capítulo 2", TipoRecurso.MANGA,
Arrays.asList(new FuenteCapitulo("AnimeFLV", "https://animeflv.com/cap2")), recursoGuardado));
List<Capitulo> capitulos = servicioRecursos.obtenerCapitulosDeRecurso(recursoId);
// 🔹 Verifico que los capítulos fueron obtenidos correctamente
assertThat(capitulos).hasSize(2);
assertThat(capitulos.get(0).getNumero()).isEqualTo(1);
assertThat(capitulos.get(0).getTitulo()).isEqualTo("Capítulo 1");
assertThat(capitulos.get(0).getFuentes().getFirst().getNombreFuente()).isEqualTo("Crunchyroll");
assertThat(capitulos.get(1).getNumero()).isEqualTo(2);
assertThat(capitulos.get(1).getTitulo()).isEqualTo("Capítulo 2");
assertThat(capitulos.get(1).getFuentes().getFirst().getNombreFuente()).isEqualTo("AnimeFLV");
// Probar con lista vacía
List<Capitulo> capitulosInexistente = servicioRecursos.obtenerCapitulosDeRecurso(9999L);
assertThat(capitulosInexistente).isEmpty();
}
}
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