Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Rubén Ramírez
/
MangAffinity
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
7d0a7880
authored
Mar 28, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix: [TestServicioBibliotecaPersonal]:Mejorados todos los tests para hacer todas las comprobaciones
parent
e1465448
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
87 additions
and
21 deletions
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioBibliotecaPersonal.java
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioBibliotecaPersonal.java
View file @
7d0a7880
...
...
@@ -3,7 +3,10 @@ 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.*
;
import
com.ujaen.tfg.mangaffinity.excepciones.RecursoEnBiblioteca
;
import
com.ujaen.tfg.mangaffinity.excepciones.RecursoNoExiste
;
import
com.ujaen.tfg.mangaffinity.excepciones.RecursoSinCategoria
;
import
com.ujaen.tfg.mangaffinity.excepciones.UsuarioSinBiblioteca
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
...
...
@@ -14,6 +17,7 @@ import java.time.LocalDate;
import
java.util.List
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
assertj
.
core
.
api
.
AssertionsForClassTypes
.
assertThatThrownBy
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
@SpringBootTest
(
classes
=
{
MangAffinityApplication
.
class
,
JpaTestConfig
.
class
})
...
...
@@ -36,20 +40,40 @@ public class TestServicioBibliotecaPersonal {
// Creo un usuario
Usuario
usuario
=
new
Usuario
(
"test@email.com"
,
"usuarioTest"
,
"password123"
);
servicioUsuarios
.
crearUsuario
(
usuario
);
BibliotecaPersonal
bibliotecaPersonal
=
usuario
.
getBibliotecaPersonal
();
// Creo un recurso
Recurso
recurso
=
new
Recurso
(
"Manga de prueba"
,
"Descripción"
,
LocalDate
.
now
(),
"Autor"
,
""
);
Recurso
recurso
=
new
Recurso
(
"Manga de prueba"
,
"Descripción"
,
LocalDate
.
now
(),
"Autor"
,
new
byte
[
0
]
);
servicioRecursos
.
crearRecurso
(
recurso
);
Recurso
recursoGuardado
=
servicioRecursos
.
buscarRecursoPorTitulo
(
"Manga de prueba"
).
getFirst
();
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
,
recursoGuardado
,
Categoria
.
AL_DIA
);
// Agrego el recurso a la biblioteca
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
Categoria
.
AL_DIA
);
//
vERIFICO que se ha
agregado
//
Verifico que el recurso fue
agregado
List
<
BibliotecaPersonalRecurso
>
recursos
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
AL_DIA
);
assertThat
(
recursos
).
isNotEmpty
();
assertThat
(
recursos
.
getFirst
().
getRecurso
().
getTitulo
()).
isEqualTo
(
"Manga de prueba"
);
// Intento agregar el mismo recurso nuevamente
assertThatThrownBy
(()
->
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
Categoria
.
AL_DIA
)
).
isInstanceOf
(
RecursoEnBiblioteca
.
class
);
// Intento agregar un recurso a una biblioteca que no existe
assertThatThrownBy
(()
->
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
999L
,
recursoGuardado
.
getId
(),
Categoria
.
AL_DIA
)
).
isInstanceOf
(
UsuarioSinBiblioteca
.
class
);
// Intento agregar un recurso inexistente
assertThatThrownBy
(()
->
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
999L
,
Categoria
.
AL_DIA
)
).
isInstanceOf
(
RecursoNoExiste
.
class
);
// Intento agregar un recurso con categoría nula
assertThatThrownBy
(()
->
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
null
)
).
isInstanceOf
(
RecursoSinCategoria
.
class
);
}
@Test
...
...
@@ -61,14 +85,14 @@ public class TestServicioBibliotecaPersonal {
BibliotecaPersonal
bibliotecaPersonal
=
usuario
.
getBibliotecaPersonal
();
// Creo unos cuantos recursos de prueba
Recurso
recurso1
=
new
Recurso
(
"Manga Acción"
,
"Sinopsis 1"
,
LocalDate
.
now
(),
"Autor A"
,
""
);
Recurso
recurso2
=
new
Recurso
(
"Manga Romance"
,
"Sinopsis 2"
,
LocalDate
.
now
(),
"Autor B"
,
""
);
Recurso
recurso1
=
new
Recurso
(
"Manga Acción"
,
"Sinopsis 1"
,
LocalDate
.
now
(),
"Autor A"
,
new
byte
[
0
]
);
Recurso
recurso2
=
new
Recurso
(
"Manga Romance"
,
"Sinopsis 2"
,
LocalDate
.
now
(),
"Autor B"
,
new
byte
[
0
]
);
servicioRecursos
.
crearRecurso
(
recurso1
);
servicioRecursos
.
crearRecurso
(
recurso2
);
// Los añado recursos en diferentes categorías
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
,
recurso1
,
Categoria
.
AL_DIA
);
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
,
recurso2
,
Categoria
.
ABANDONADO
);
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recurso1
.
getId
()
,
Categoria
.
AL_DIA
);
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recurso2
.
getId
()
,
Categoria
.
ABANDONADO
);
// Pruebo el listar
List
<
BibliotecaPersonalRecurso
>
recursosAlDia
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
AL_DIA
);
...
...
@@ -90,21 +114,29 @@ public class TestServicioBibliotecaPersonal {
BibliotecaPersonal
bibliotecaPersonal
=
usuario
.
getBibliotecaPersonal
();
// Creo un recurso
Recurso
recurso
=
new
Recurso
(
"Manga Prueba"
,
"Descripción"
,
LocalDate
.
now
(),
"Autor"
,
""
);
Recurso
recurso
=
new
Recurso
(
"Manga Prueba"
,
"Descripción"
,
LocalDate
.
now
(),
"Autor"
,
new
byte
[
0
]
);
servicioRecursos
.
crearRecurso
(
recurso
);
Recurso
recursoGuardado
=
servicioRecursos
.
buscarRecursoPorTitulo
(
"Manga Prueba"
).
getFirst
();
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
,
recursoGuardado
,
Categoria
.
AL_DIA
);
// Lo añado a la biblioteca
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
Categoria
.
AL_DIA
);
// Verifico que esté añadido
List
<
BibliotecaPersonalRecurso
>
recursosAntes
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
AL_DIA
);
assertThat
(
recursosAntes
).
isNotEmpty
();
// Elimino el recurso de la biblioteca
servicioBibliotecaPersonal
.
eliminarRecurso
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
());
servicioBibliotecaPersonal
.
eliminarRecursoDeBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
());
// Verifico que ya no está
List
<
BibliotecaPersonalRecurso
>
recursosDespues
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
AL_DIA
);
assertThat
(
recursosDespues
).
isEmpty
();
}
// Intento eliminarlo otra vez (debería lanzar excepción)
assertThatThrownBy
(()
->
servicioBibliotecaPersonal
.
eliminarRecursoDeBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
())
).
isInstanceOf
(
RecursoNoExiste
.
class
);
}
@Test
@DirtiesContext
...
...
@@ -114,26 +146,60 @@ public class TestServicioBibliotecaPersonal {
servicioUsuarios
.
crearUsuario
(
usuario
);
BibliotecaPersonal
bibliotecaPersonal
=
usuario
.
getBibliotecaPersonal
();
Recurso
recurso
=
new
Recurso
(
"Manga Cambio"
,
"Otra Descripción"
,
LocalDate
.
now
(),
"AutorX"
,
""
);
Recurso
recurso
=
new
Recurso
(
"Manga Cambio"
,
"Otra Descripción"
,
LocalDate
.
now
(),
"AutorX"
,
new
byte
[
0
]
);
servicioRecursos
.
crearRecurso
(
recurso
);
Recurso
recursoGuardado
=
servicioRecursos
.
buscarRecursoPorTitulo
(
"Manga Cambio"
).
getFirst
();
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
,
recursoGuardado
,
Categoria
.
PENDIENTE
);
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
()
,
Categoria
.
PENDIENTE
);
// Verifico que está en la categoría inicial
List
<
BibliotecaPersonalRecurso
>
recursosPendientes
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
PENDIENTE
);
assertThat
(
recursosPendientes
).
isNotEmpty
();
assertThat
(
recursosPendientes
.
getFirst
().
getCategoria
()).
isEqualTo
(
Categoria
.
PENDIENTE
);
// Modifico la categoría del recurso
servicioBibliotecaPersonal
.
modificarCategoria
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
Categoria
.
COMPLETADO
);
// Cambio de categoría
servicioBibliotecaPersonal
.
cambiarCategoriaRecurso
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
Categoria
.
COMPLETADO
);
List
<
BibliotecaPersonalRecurso
>
recursosCompletados
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
COMPLETADO
);
assertThat
(
recursosCompletados
).
hasSize
(
1
);
assertThat
(
recursosCompletados
.
getFirst
().
getCategoria
()).
isEqualTo
(
Categoria
.
COMPLETADO
);
List
<
BibliotecaPersonalRecurso
>
recursosModificados
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
COMPLETADO
);
assertThat
(
recursosModificados
).
isNotEmpty
();
assertThat
(
recursosModificados
.
getFirst
().
getCategoria
()).
isEqualTo
(
Categoria
.
COMPLETADO
);
// Verifico que ya no está en la categoría anterior
List
<
BibliotecaPersonalRecurso
>
recursosPendientesDespues
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
PENDIENTE
);
assertThat
(
recursosPendientesDespues
).
isEmpty
();
// No cambia si es misma categoría
servicioBibliotecaPersonal
.
cambiarCategoriaRecurso
(
bibliotecaPersonal
.
getId
(),
recursoGuardado
.
getId
(),
Categoria
.
COMPLETADO
);
List
<
BibliotecaPersonalRecurso
>
recursosIgual
=
servicioBibliotecaPersonal
.
listarPorCategoria
(
bibliotecaPersonal
.
getId
(),
Categoria
.
COMPLETADO
);
assertThat
(
recursosIgual
).
hasSize
(
1
);
// Recurso no existe en biblioteca
assertThatThrownBy
(()
->
servicioBibliotecaPersonal
.
cambiarCategoriaRecurso
(
bibliotecaPersonal
.
getId
(),
999L
,
Categoria
.
ABANDONADO
)
).
isInstanceOf
(
RecursoNoExiste
.
class
);
}
@Test
@DirtiesContext
void
testBuscarRecursoEnBiblioteca
()
{
// Creo un usuario y su biblioteca
Usuario
usuario
=
new
Usuario
(
"buscar@email.com"
,
"usuarioBuscar"
,
"clave"
);
servicioUsuarios
.
crearUsuario
(
usuario
);
BibliotecaPersonal
biblioteca
=
usuario
.
getBibliotecaPersonal
();
// Creo un recurso
Recurso
recurso
=
new
Recurso
(
"Recurso Buscar"
,
"Descripción"
,
LocalDate
.
now
(),
"Autor"
,
new
byte
[
0
]);
servicioRecursos
.
crearRecurso
(
recurso
);
Recurso
guardado
=
servicioRecursos
.
buscarRecursoPorTitulo
(
"Recurso Buscar"
).
getFirst
();
// Lo añado a la biblioteca
servicioBibliotecaPersonal
.
anadirRecursoBiblioteca
(
biblioteca
.
getId
(),
guardado
.
getId
(),
Categoria
.
COMPLETADO
);
// Busco recurso existente
var
resultado
=
servicioBibliotecaPersonal
.
buscarRecursoEnBiblioteca
(
biblioteca
.
getId
(),
guardado
.
getId
());
assertThat
(
resultado
).
isPresent
();
assertThat
(
resultado
.
get
().
getRecurso
().
getId
()).
isEqualTo
(
guardado
.
getId
());
// Busco recurso inexistente
var
resultadoInexistente
=
servicioBibliotecaPersonal
.
buscarRecursoEnBiblioteca
(
biblioteca
.
getId
(),
999L
);
assertThat
(
resultadoInexistente
).
isEmpty
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment