Commit 96261045 by Rubén Ramírez

feat: [TestServicioRecursos]: Hecho el test para las funciones para las búsquedas en el repositorio

parent 6ac1b13c
......@@ -2,6 +2,7 @@ package com.ujaen.tfg.mangaffinity.servicios;
import com.ujaen.tfg.mangaffinity.MangAffinityApplication;
import com.ujaen.tfg.mangaffinity.config.JpaTestConfig;
import com.ujaen.tfg.mangaffinity.entidades.Genero;
import com.ujaen.tfg.mangaffinity.entidades.Recurso;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -58,8 +59,73 @@ public class TestServicioRecursos {
// Verificar que se encuentra el recurso sin importar mayúsculas
assertThat(resultados).isNotEmpty();
assertThat(resultados.get(0).getTitulo()).isEqualTo("Titulo Uno"); // Se mantiene igual en BD
assertThat(resultados.get(0).getTitulo().equalsIgnoreCase("Titulo unO")).isTrue();
assertThat(resultados.getFirst().getTitulo()).isEqualTo("Titulo Uno"); // Se mantiene igual en BD
assertThat(resultados.getFirst().getTitulo().equalsIgnoreCase("Titulo unO")).isTrue();
}
@Test
@DirtiesContext
void testBuscarRecursoPorAutor() {
// Crear recursos con diferentes autores
Recurso recurso1 = new Recurso("Titulo Uno", "Desc 1", LocalDate.now(), "Autor A");
Recurso recurso2 = new Recurso("Titulo Dos", "Desc 2", LocalDate.now(), "Autor B");
servicioRecursos.crearRecurso(recurso1);
servicioRecursos.crearRecurso(recurso2);
// Buscar por "Autor A"
List<Recurso> resultados = servicioRecursos.buscarRecursoPorAutor("Autor A");
// Validar que solo se obtiene el recurso con Autor A
assertThat(resultados).isNotEmpty();
assertThat(resultados.size()).isEqualTo(1);
assertThat(resultados.getFirst().getAutor()).isEqualTo("Autor A");
}
@Test
@DirtiesContext
void testBuscarRecursoPorGenero() {
// Crear recursos con diferentes géneros
Recurso recurso1 = new Recurso("Manga A", "Desc", LocalDate.now(), "Autor X");
recurso1.getGeneros().add(Genero.ACCION);
Recurso recurso2 = new Recurso("Manga B", "Desc", LocalDate.now(), "Autor Y");
recurso2.getGeneros().add(Genero.ROMANCE);
servicioRecursos.crearRecurso(recurso1);
servicioRecursos.crearRecurso(recurso2);
// Buscar por género ACCION
List<Recurso> resultados = servicioRecursos.buscarRecursoPorGenero(Genero.ACCION);
// Validar que solo se obtiene el recurso con ACCION
assertThat(resultados).isNotEmpty();
assertThat(resultados.size()).isEqualTo(1);
assertThat(resultados.getFirst().getGeneros()).contains(Genero.ACCION);
}
@Test
@DirtiesContext
void testBuscarRecursoPorRangoFechas() {
// Crear recursos con diferentes fechas
LocalDate fecha1 = LocalDate.of(2020, 1, 1);
LocalDate fecha2 = LocalDate.of(2022, 6, 15);
LocalDate fecha3 = LocalDate.of(2023, 12, 25);
Recurso recurso1 = new Recurso("Titulo A", "Desc", fecha1, "Autor X");
Recurso recurso2 = new Recurso("Titulo B", "Desc", fecha2, "Autor Y");
Recurso recurso3 = new Recurso("Titulo C", "Desc", fecha3, "Autor Z");
servicioRecursos.crearRecurso(recurso1);
servicioRecursos.crearRecurso(recurso2);
servicioRecursos.crearRecurso(recurso3);
// Buscar entre 2021 y 2023
List<Recurso> resultados = servicioRecursos.buscarRecursoPorRangoFechas(LocalDate.of(2021, 1, 1), LocalDate.of(2023, 1, 1));
// Validar que solo se obtiene el recurso dentro del rango (2022)
assertThat(resultados).isNotEmpty();
assertThat(resultados.size()).isEqualTo(1);
assertThat(resultados.getFirst().getFechaPublicacion()).isEqualTo(fecha2);
}
}
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