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
91dfaec9
authored
Apr 20, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [TestServicioRecurso]: Testeada una función obtener las recomendaciones
parent
88e7362f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
0 deletions
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioRecursos.java
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioRecursos.java
View file @
91dfaec9
...
@@ -730,5 +730,55 @@ public class TestServicioRecursos {
...
@@ -730,5 +730,55 @@ public class TestServicioRecursos {
assertThat
(
resenas
.
get
(
1
).
getTexto
()).
isEqualTo
(
"Buena reseña"
);
assertThat
(
resenas
.
get
(
1
).
getTexto
()).
isEqualTo
(
"Buena reseña"
);
assertThat
(
resenas
.
get
(
2
).
getTexto
()).
isEqualTo
(
"Normalita"
);
assertThat
(
resenas
.
get
(
2
).
getTexto
()).
isEqualTo
(
"Normalita"
);
}
}
@Test
@DirtiesContext
@Transactional
void
testObtenerRecomendacionesParaUsuario
()
{
// Crear usuario y su biblioteca
Usuario
usuario
=
new
Usuario
(
"recom@test.com"
,
"Usuario Recom"
,
"clave123"
);
servicioUsuarios
.
crearUsuario
(
usuario
);
Long
usuarioId
=
usuario
.
getId
();
BibliotecaPersonal
biblioteca
=
usuario
.
getBibliotecaPersonal
();
// Crear recurso favorito del usuario
Recurso
favorito
=
new
Recurso
(
"Recurso Favorito"
,
"Descripción"
,
LocalDate
.
now
(),
"Autor X"
,
new
byte
[
0
]);
favorito
.
getGeneros
().
add
(
Genero
.
SHONEN
);
servicioRecursos
.
crearRecurso
(
favorito
);
biblioteca
.
anadirFavorito
(
favorito
.
getId
());
// Crear otros recursos
Recurso
porAutor
=
new
Recurso
(
"Recomendado por autor"
,
"Desc"
,
LocalDate
.
now
(),
"Autor X"
,
new
byte
[
0
]);
Recurso
porGenero
=
new
Recurso
(
"Recomendado por género"
,
"Desc"
,
LocalDate
.
now
(),
"Otro autor"
,
new
byte
[
0
]);
porGenero
.
getGeneros
().
add
(
Genero
.
SHONEN
);
Recurso
noRelacionado
=
new
Recurso
(
"No relacionado"
,
"Desc"
,
LocalDate
.
now
(),
"Otro"
,
new
byte
[
0
]);
noRelacionado
.
getGeneros
().
add
(
Genero
.
ROMANCE
);
// Uno que está en la biblioteca y no debe recomendarse
Recurso
yaEnBiblioteca
=
new
Recurso
(
"Ya en biblioteca"
,
"Desc"
,
LocalDate
.
now
(),
"Autor X"
,
new
byte
[
0
]);
servicioRecursos
.
crearRecurso
(
yaEnBiblioteca
);
// Guardar los recomendables
servicioRecursos
.
crearRecurso
(
porAutor
);
servicioRecursos
.
crearRecurso
(
porGenero
);
servicioRecursos
.
crearRecurso
(
noRelacionado
);
// Añadir el recurso a la biblioteca para que se excluya
BibliotecaPersonalRecurso
bpr
=
new
BibliotecaPersonalRecurso
(
biblioteca
,
yaEnBiblioteca
,
Categoria
.
AL_DIA
);
biblioteca
.
getRecursos
().
add
(
bpr
);
// Obtener recomendaciones
List
<
Recurso
>
recomendaciones
=
servicioRecursos
.
obtenerRecomendacionesParaUsuario
(
usuarioId
);
// Comprobaciones
assertThat
(
recomendaciones
).
isNotEmpty
();
assertThat
(
recomendaciones
).
hasSizeLessThanOrEqualTo
(
4
);
// Debe incluir por autor o por género, y excluir los otros
List
<
String
>
titulos
=
recomendaciones
.
stream
().
map
(
Recurso:
:
getTitulo
).
toList
();
assertThat
(
titulos
).
contains
(
"Recomendado por autor"
,
"Recomendado por género"
);
assertThat
(
titulos
).
doesNotContain
(
"Recurso Favorito"
,
"Ya en biblioteca"
,
"No relacionado"
);
}
}
}
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