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
bb7fa244
authored
Apr 18, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [TestServicioRecursos]: Actualizado el test de añadir reseñas
parent
06821446
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
21 deletions
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioRecursos.java
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioRecursos.java
View file @
bb7fa244
...
...
@@ -647,35 +647,55 @@ public class TestServicioRecursos {
@DirtiesContext
@Transactional
void
testAnadirResena
()
{
// Cre
o un usuario de prueba
Usuario
usuario
=
new
Usuario
(
"usuario@test.com"
,
"Usuario Test"
,
"contraseña
123"
);
servicioUsuarios
.
crearUsuario
(
usuario
);
// Cre
ar usuario
Usuario
usuario
1
=
new
Usuario
(
"usuario1@test.com"
,
"Usuario Uno"
,
"clave
123"
);
servicioUsuarios
.
crearUsuario
(
usuario
1
);
// Creo un recurso de prueba
Recurso
recurso
=
new
Recurso
(
"Manga Test"
,
"Descripción de prueba"
,
LocalDate
.
now
(),
"Autor X"
,
new
byte
[
0
]);
Usuario
usuario2
=
new
Usuario
(
"usuario2@test.com"
,
"Usuario Dos"
,
"clave456"
);
servicioUsuarios
.
crearUsuario
(
usuario2
);
// Crear recurso
Recurso
recurso
=
new
Recurso
(
"Manga Reseñas"
,
"Reseñas test"
,
LocalDate
.
now
(),
"Autor X"
,
new
byte
[
0
]);
servicioRecursos
.
crearRecurso
(
recurso
);
Long
recursoId
=
recurso
.
getId
();
// Creo una reseña para el recurso y el usuario
Resena
resena
=
new
Resena
(
usuario
,
recurso
,
5
,
"Muy buen manga"
);
// Crear primera reseña (sin fecha)
Resena
resena1
=
new
Resena
(
usuario1
,
recurso
,
4
,
"Entretenido"
);
servicioRecursos
.
anadirResena
(
resena1
);
// Verifico que el recurso inicialmente no tiene reseñas
assertThat
(
recurso
.
getResenas
()).
isEmpty
();
// Validar que la fecha se ha establecido automáticamente
Recurso
recursoActualizado
=
servicioRecursos
.
buscarRecursoPorId
(
recursoId
);
assertThat
(
recursoActualizado
.
getResenas
()).
hasSize
(
1
);
Resena
r1
=
recursoActualizado
.
getResenas
().
getFirst
();
assertThat
(
r1
.
getFechaPublicacion
()).
isEqualTo
(
LocalDate
.
now
());
assertThat
(
r1
.
getEstrellas
()).
isEqualTo
(
4
);
assertThat
(
recursoActualizado
.
getMediaEstrellas
()).
isEqualTo
(
4.0
);
//
Añado la reseña al recurso
servicioRecursos
.
anadirResena
(
resena
);
recurso
=
servicioRecursos
.
buscarRecursoPorId
(
recurso
.
getId
()
);
//
Crear segunda reseña
Resena
resena2
=
new
Resena
(
usuario2
,
recurso
,
2
,
"Meh"
);
servicioRecursos
.
anadirResena
(
resena2
);
// Verifico que la reseña se haya añadido correctamente
assertThat
(
recurso
.
getResenas
()).
hasSize
(
1
);
assertThat
(
recurso
.
getResenas
().
get
(
0
).
getTexto
()).
isEqualTo
(
"Muy buen manga"
);
assertThat
(
recurso
.
getResenas
().
get
(
0
).
getEstrellas
()).
isEqualTo
(
5
);
assertThat
(
recurso
.
getResenas
().
get
(
0
).
getUsuario
().
getEmail
()).
isEqualTo
(
"usuario@test.com"
);
assertThat
(
recurso
.
getResenas
().
get
(
0
).
getFechaPublicacion
()).
isEqualTo
(
LocalDate
.
now
());
Recurso
recursoActualizado
=
servicioRecursos
.
buscarRecursoPorId
(
recurso
.
getId
());
assertThat
(
recursoActualizado
.
getResenas
()).
hasSize
(
1
);
assertThat
(
recursoActualizado
.
getResenas
().
get
(
0
).
getTexto
()).
isEqualTo
(
"Muy buen manga"
);
// Validar reseñas en orden descendente por fecha
List
<
Resena
>
resenas
=
servicioRecursos
.
obtenerResenasDeRecurso
(
recursoId
);
assertThat
(
resenas
).
hasSize
(
2
);
assertThat
(
resenas
.
get
(
0
).
getFechaPublicacion
()).
isAfterOrEqualTo
(
resenas
.
get
(
1
).
getFechaPublicacion
());
// Validar datos de las reseñas
assertThat
(
resenas
.
stream
().
map
(
Resena:
:
getTexto
))
.
containsExactlyInAnyOrder
(
"Entretenido"
,
"Meh"
);
// Validar media de estrellas
assertThat
(
servicioRecursos
.
buscarRecursoPorId
(
recursoId
).
getMediaEstrellas
()).
isEqualTo
(
3.0
);
// Verificar que la relación bidireccional es correcta
for
(
Resena
resena
:
resenas
)
{
assertThat
(
resena
.
getRecurso
().
getId
()).
isEqualTo
(
recursoId
);
assertThat
(
resena
.
getUsuario
()).
isNotNull
();
assertThat
(
resena
.
getEstrellas
()).
isBetween
(
1
,
5
);
// Validación de rango si fuera aplicable
}
}
@Test
@DirtiesContext
@Transactional
...
...
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