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
2f613095
authored
May 09, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [TestUsuariosController]: Testeada una función para buscar por nombre
parent
66ef61fe
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
0 deletions
src/test/java/com/ujaen/tfg/mangaffinity/rest/TestUsuariosController.java
src/test/java/com/ujaen/tfg/mangaffinity/rest/TestUsuariosController.java
View file @
2f613095
...
...
@@ -493,6 +493,50 @@ public class TestUsuariosController {
assertThat
(
usuario
.
getEmail
()).
isNull
();
// porque no se devuelve en el DTO
assertThat
(
usuario
.
getNombreUsuario
()).
isEqualTo
(
"VerUsuario"
);
}
@Test
@DirtiesContext
void
testFiltrarUsuariosPorNombre
()
{
// Registrar usuarios
restTemplateUsuarios
.
postForEntity
(
"/"
,
new
DTOUsuario
(
null
,
"ana1@test.com"
,
"Ana"
,
"clave"
),
Void
.
class
);
restTemplateUsuarios
.
postForEntity
(
"/"
,
new
DTOUsuario
(
null
,
"anabel@test.com"
,
"Anabel"
,
"clave"
),
Void
.
class
);
restTemplateUsuarios
.
postForEntity
(
"/"
,
new
DTOUsuario
(
null
,
"otro@test.com"
,
"Pedro"
,
"clave"
),
Void
.
class
);
// Hacer login con uno de ellos
HttpEntity
<
Map
<
String
,
String
>>
loginRequest
=
new
HttpEntity
<>(
Map
.
of
(
"clave"
,
"clave"
));
ResponseEntity
<
DTOLoginRespuesta
>
loginResponse
=
restTemplateUsuarios
.
postForEntity
(
"/{email}"
,
loginRequest
,
DTOLoginRespuesta
.
class
,
"ana1@test.com"
);
assertThat
(
loginResponse
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
String
token
=
loginResponse
.
getBody
().
getToken
();
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setBearerAuth
(
token
);
HttpEntity
<
Void
>
request
=
new
HttpEntity
<>(
headers
);
// --- Caso 1: Coincidencias ---
ResponseEntity
<
DTOUsuario
[]>
respuesta
=
restTemplateUsuarios
.
exchange
(
"/?nombre=Ana"
,
HttpMethod
.
GET
,
request
,
DTOUsuario
[].
class
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
DTOUsuario
[]
usuarios
=
respuesta
.
getBody
();
assertThat
(
usuarios
).
isNotNull
();
assertThat
(
usuarios
.
length
).
isEqualTo
(
2
);
List
<
String
>
nombres
=
Arrays
.
stream
(
usuarios
).
map
(
DTOUsuario:
:
getNombreUsuario
).
toList
();
assertThat
(
nombres
).
containsExactlyInAnyOrder
(
"Ana"
,
"Anabel"
);
// --- Caso 2: Sin coincidencias ---
ResponseEntity
<
Void
>
sinCoincidencias
=
restTemplateUsuarios
.
exchange
(
"/?nombre=XYZ"
,
HttpMethod
.
GET
,
request
,
Void
.
class
);
assertThat
(
sinCoincidencias
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NO_CONTENT
);
// --- Caso 3: Sin parámetro ---
ResponseEntity
<
Void
>
sinParametro
=
restTemplateUsuarios
.
exchange
(
"/"
,
HttpMethod
.
GET
,
request
,
Void
.
class
);
assertThat
(
sinParametro
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
BAD_REQUEST
);
}
}
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