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
c62b602f
authored
Apr 20, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [TestServicioUsuario]: Testeadas las funciones para modificar los datos del usuario
parent
23e10daf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
0 deletions
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioUsuarios.java
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioUsuarios.java
View file @
c62b602f
...
...
@@ -151,4 +151,83 @@ public class TestServicioUsuarios {
.
isInstanceOf
(
UsuarioNoExiste
.
class
);
}
@Test
@DirtiesContext
void
testModificarUsuario
()
{
// Registro un usuario inicial
Usuario
usuario
=
new
Usuario
(
"original@mail.com"
,
"Original"
,
"contrasena123"
);
servicioUsuarios
.
crearUsuario
(
usuario
);
// 1. Modificación correcta de todo (email, nombre, contraseña)
DTOLoginRespuesta
respuesta
=
servicioUsuarios
.
modificarUsuario
(
"original@mail.com"
,
"nuevo@mail.com"
,
"NuevoNombre"
,
"nuevaContrasena123"
,
"contrasena123"
);
assertThat
(
respuesta
).
isNotNull
();
assertThat
(
respuesta
.
getEmail
()).
isEqualTo
(
"nuevo@mail.com"
);
assertThat
(
respuesta
.
getNombreUsuario
()).
isEqualTo
(
"NuevoNombre"
);
// 2. Intento de usar un email ya registrado
Usuario
otro
=
new
Usuario
(
"otro@mail.com"
,
"Otro"
,
"clave123"
);
servicioUsuarios
.
crearUsuario
(
otro
);
assertThatThrownBy
(()
->
servicioUsuarios
.
modificarUsuario
(
"nuevo@mail.com"
,
"otro@mail.com"
,
// ya existe
"NombreCualquiera"
,
"otraClave"
,
"nuevaContrasena123"
)).
isInstanceOf
(
UsuarioYaRegistrado
.
class
);
// 3. Intento de usar un nombre de usuario ya en uso
assertThatThrownBy
(()
->
servicioUsuarios
.
modificarUsuario
(
"nuevo@mail.com"
,
"cambiado@mail.com"
,
"Otro"
,
// nombre de usuario ya existe
"claveNueva"
,
"nuevaContrasena123"
)).
isInstanceOf
(
NombreUsuarioYaCogido
.
class
);
// 4. Contraseña actual incorrecta
assertThatThrownBy
(()
->
servicioUsuarios
.
modificarUsuario
(
"nuevo@mail.com"
,
"valido@mail.com"
,
"ValidoNombre"
,
"loquesea"
,
"contrasenaIncorrecta"
)).
isInstanceOf
(
IllegalArgumentException
.
class
);
}
@Test
@DirtiesContext
void
testModificarUsuarioDesdeToken
()
{
// Crear usuario y obtener su token
Usuario
usuario
=
new
Usuario
(
"token@test.com"
,
"TokenUser"
,
"clave123"
);
DTOLoginRespuesta
registro
=
servicioUsuarios
.
crearUsuario
(
usuario
);
String
token
=
"Bearer "
+
registro
.
getToken
();
// Modificar datos a través del token
DTOLoginRespuesta
modificado
=
servicioUsuarios
.
modificarUsuarioDesdeToken
(
token
,
"modificado@test.com"
,
"NombreModificado"
,
"claveModificada"
,
"clave123"
);
assertThat
(
modificado
).
isNotNull
();
assertThat
(
modificado
.
getEmail
()).
isEqualTo
(
"modificado@test.com"
);
assertThat
(
modificado
.
getNombreUsuario
()).
isEqualTo
(
"NombreModificado"
);
// Validar que el nuevo token contiene los datos actualizados
Claims
claims
=
jwtUtil
.
decodeJWT
(
modificado
.
getToken
());
assertThat
(
claims
.
get
(
"email"
)).
isEqualTo
(
"modificado@test.com"
);
assertThat
(
claims
.
get
(
"nombreUsuario"
)).
isEqualTo
(
"NombreModificado"
);
}
}
\ No newline at end of file
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