Commit b1fba10b by Rubén Ramírez

feat: [ServicioRecurso]: Implementadas las funciones para las búsquedas por id y…

feat: [ServicioRecurso]: Implementadas las funciones para las búsquedas por id y borrar el recurso en el servicio
parent 946b4e8b
package com.ujaen.tfg.mangaffinity.excepciones;
public class RecursoNoExiste extends RuntimeException {
}
......@@ -20,6 +20,8 @@ public class ServicioRecursos {
repositorioRecurso.crear(recurso);
}
public Recurso buscarRecursoPorId(Long id) {return repositorioRecurso.buscarPorId(id);}
public List<Recurso> buscarRecursoPorTitulo(String titulo) {
return repositorioRecurso.buscarPorTitulo(titulo);
}
......@@ -40,8 +42,19 @@ public class ServicioRecursos {
return recursos;
}
public List<Recurso> buscarRecursoPorRangoFechas(LocalDate fechaInicio, LocalDate fechaFin) {
return repositorioRecurso.buscarPorRangoFechas(fechaInicio, fechaFin);
}
@Transactional
public boolean borrarRecurso(Long id) {
Recurso recurso = buscarRecursoPorId(id);
if (recurso != null) {
repositorioRecurso.borrarRecurso(recurso);
return true;
}
return false;
}
}
......@@ -128,4 +128,48 @@ public class TestServicioRecursos {
assertThat(resultados.getFirst().getFechaPublicacion()).isEqualTo(fecha2);
}
@Test
@DirtiesContext
void testBuscarRecursoPorId() {
// Crear un recurso de prueba
Recurso recurso = new Recurso("Manga Prueba", "Descripción de prueba", LocalDate.now(), "Autor X");
servicioRecursos.crearRecurso(recurso);
// Buscar el recurso en la base de datos
Recurso recursoEncontrado = servicioRecursos.buscarRecursoPorId(recurso.getId());
// Verificar que el recurso fue encontrado correctamente
assertThat(recursoEncontrado).isNotNull();
assertThat(recursoEncontrado.getId()).isEqualTo(recurso.getId());
assertThat(recursoEncontrado.getTitulo()).isEqualTo("Manga Prueba");
assertThat(recursoEncontrado.getDescripcion()).isEqualTo("Descripción de prueba");
assertThat(recursoEncontrado.getAutor()).isEqualTo("Autor X");
}
@Test
@DirtiesContext
void testBorrarRecurso() {
// Crear recurso en la base de datos
Recurso recurso = new Recurso("Titulo", "Descripcion", LocalDate.now(), "Autor");
servicioRecursos.crearRecurso(recurso);
// Buscar el recurso creado y asegurar que tiene un ID
List<Recurso> recursos = servicioRecursos.buscarRecursoPorTitulo("Titulo");
assertThat(recursos).isNotEmpty();
Recurso recursoGuardado = recursos.getFirst();
assertThat(recursoGuardado.getId()).isNotNull();
// Borrar el recurso
boolean eliminado = servicioRecursos.borrarRecurso(recursoGuardado.getId());
assertThat(eliminado).isTrue();
// Verificar que ya no existe
Recurso recursoBorrado = servicioRecursos.buscarRecursoPorId(recursoGuardado.getId());
assertThat(recursoBorrado).isNull();
}
}
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