Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alvaro Ordóñez Romero
/
DAE-aha00026-aor00039
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
e918de81
authored
Dec 18, 2023
by
Álvaro Herrera Arjonilla
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
nuevos test implementados, fallo en crearSolicitud
parent
818150be
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
83 additions
and
63 deletions
src/main/java/com/carpooling/carpoolingaoraha/rest/ControladorREST.java
src/main/java/com/carpooling/carpoolingaoraha/services/ServicioCarPooling.java
src/test/java/com/carpooling/carpoolingaoraha/ControladorRESTEST/ControladorRESTTEST.java
src/main/java/com/carpooling/carpoolingaoraha/rest/ControladorREST.java
View file @
e918de81
...
...
@@ -204,29 +204,9 @@ public class ControladorREST {
}
}
@PostMapping
(
"/solicitudes"
)
public
ResponseEntity
<
Solicitud
>
crearSolicitud
(
@RequestBody
Map
<
String
,
Object
>
datosSolicitud
)
throws
ParseException
{
String
nombre
=
(
String
)
datosSolicitud
.
get
(
"nombre"
);
String
apellidos
=
(
String
)
datosSolicitud
.
get
(
"apellidos"
);
String
fechaString
=
(
String
)
datosSolicitud
.
get
(
"fecha"
);
SimpleDateFormat
formato
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
fecha
=
formato
.
parse
(
fechaString
);
String
fechaString2
=
(
String
)
datosSolicitud
.
get
(
"fecha2"
);
Date
fecha2
=
formato
.
parse
(
fechaString2
);
String
dni
=
(
String
)
datosSolicitud
.
get
(
"dni"
);
int
telefono
=
(
int
)
datosSolicitud
.
get
(
"telefono"
);
String
email
=
(
String
)
datosSolicitud
.
get
(
"email"
);
String
claveAceso
=
(
String
)
datosSolicitud
.
get
(
"claveAcceso"
);
String
rol1
=
(
String
)
datosSolicitud
.
get
(
"rol"
);
Usuario
.
Rol
rol
=
Usuario
.
Rol
.
valueOf
(
rol1
);
Usuario
usuario
=
new
Usuario
(
nombre
,
apellidos
,
fecha
,
dni
,
telefono
,
email
,
claveAceso
,
rol
);
Reserva
reserva
=
new
Reserva
(
usuario
,
(
String
)
datosSolicitud
.
get
(
"origen"
),
(
String
)
datosSolicitud
.
get
(
"destino"
),
(
int
)
datosSolicitud
.
get
(
"numAsientos"
),
(
int
)
datosSolicitud
.
get
(
"precio"
),
fecha2
);
Solicitud
s
=
new
Solicitud
(
reserva
,
usuario
);
s
.
setId
(
19827439L
);
public
ResponseEntity
<
Solicitud
>
crearSolicitud
(
@RequestBody
Solicitud
datosSolicitud
){
try
{
servicioCarPooling
.
crearSolicitud
(
s
);
servicioCarPooling
.
crearSolicitud
(
datosSolicitud
);
return
ResponseEntity
.
status
(
HttpStatus
.
CREATED
).
build
();
}
catch
(
SolicitudYaExistente
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
CONFLICT
).
build
();
...
...
src/main/java/com/carpooling/carpoolingaoraha/services/ServicioCarPooling.java
View file @
e918de81
...
...
@@ -145,7 +145,10 @@ public class ServicioCarPooling {
@Transactional
public
Solicitud
crearSolicitud
(
@NotBlank
Solicitud
s
)
{
repositorioSolicitud
.
guardar
(
s
);
Optional
<
Solicitud
>
test
=
repositorioSolicitud
.
buscar
(
s
.
getId
());
if
(
test
.
isPresent
())
{
throw
new
ViajeYaRegistrado
();
}
return
s
;
}
...
...
src/test/java/com/carpooling/carpoolingaoraha/ControladorRESTEST/ControladorRESTTEST.java
View file @
e918de81
...
...
@@ -252,6 +252,7 @@ public class ControladorRESTTEST {
"/reservas/crearReserva/"
+
dni
,
reserva
,
Reserva
.
class
);
Assertions
.
assertThat
(
respuestaR
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
}
@Test
...
...
@@ -282,69 +283,105 @@ public class ControladorRESTTEST {
@Test
public
void
testEliminarReserva
()
{
// Datos de prueba
int
idReserva
=
1
;
Date
fecha
=
new
Date
(
2000
,
12
,
1
);
DTOUsuario
usuario
=
new
DTOUsuario
(
"Fernando"
,
"Alonso Diaz"
,
fecha
,
"78162640S"
,
670988953
,
"hola@gmail.com"
,
"1234"
,
Usuario
.
Rol
.
CONDUCTOR
);
ResponseEntity
<
DTOUsuario
>
respuesta
=
restTemplate
.
postForEntity
(
"/usuarios"
,
usuario
,
DTOUsuario
.
class
);
Usuario
conductor
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
fecha
,
"78162640S"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Usuario
.
Rol
.
CONDUCTOR
);
ArrayList
<
String
>
pasajeros
=
new
ArrayList
<>();
pasajeros
.
add
(
"Ana"
);
pasajeros
.
add
(
"Perico"
);
String
dni
=
"78162640S"
;
Viaje
viaje
=
new
Viaje
(
"Origen"
,
"Destino"
,
new
Date
(),
3
,
20
,
5
);
DTOReserva
reserva
=
new
DTOReserva
(
1
,
conductor
,
pasajeros
,
0
,
2
,
true
,
viaje
);
ResponseEntity
<
Reserva
>
respuestaR
=
restTemplate
.
postForEntity
(
"/reservas/crearReserva/"
+
dni
,
reserva
,
Reserva
.
class
);
ResponseEntity
<
Reserva
>
respuesta3
=
restTemplate
.
getForEntity
(
"/reservas/"
+
1
,
Reserva
.
class
,
1
);
Assertions
.
assertThat
(
respuesta3
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
restTemplate
.
delete
(
"/viajes/eliminarReserva/{id}"
,
idReserva
);
ResponseEntity
<
Reserva
>
respuestaDespuesDeEliminar
=
restTemplate
.
getForEntity
(
"/reservas/"
,
Reserva
.
class
,
idReserva
);
restTemplate
.
delete
(
"/viajes/eliminarReserva/{id}"
,
1
);
ResponseEntity
<
Reserva
>
respuestaDespuesDeEliminar
=
restTemplate
.
getForEntity
(
"/reservas/"
,
Reserva
.
class
,
1
);
Assertions
.
assertThat
(
respuestaDespuesDeEliminar
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
}
@Test
public
void
testActualizarReserva
()
{
int
idReserva
=
847132468
;
// Realizar la solicitud POST para actualizar el cliente existente
ResponseEntity
<
DTO
Reserva
>
respuesta
=
restTemplate
.
postForEntity
Date
fecha
=
new
Date
(
2000
,
12
,
1
)
;
DTOUsuario
usuario
=
new
DTOUsuario
(
"Fernando"
,
"Alonso Diaz"
,
fecha
,
"78162640S"
,
670988953
,
"hola@gmail.com"
,
"1234"
,
Usuario
.
Rol
.
CONDUCTOR
);
ResponseEntity
<
DTO
Usuario
>
respuesta
=
restTemplate
.
postForEntity
(
"/
viajes/actualizarReserva/"
,
idReserva
,
DTOReserva
.
class
"/
usuarios"
,
usuario
,
DTOUsuario
.
class
);
// Verificar que la respuesta sea mala, ya que no existe ese usuario en la bbdd
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
Usuario
conductor
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
fecha
,
"78162640S"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Usuario
.
Rol
.
CONDUCTOR
);
ArrayList
<
String
>
pasajeros
=
new
ArrayList
<>();
pasajeros
.
add
(
"Ana"
);
pasajeros
.
add
(
"Perico"
);
String
dni
=
"78162640S"
;
Viaje
viaje
=
new
Viaje
(
"Origen"
,
"Destino"
,
new
Date
(),
3
,
20
,
5
);
DTOReserva
reserva
=
new
DTOReserva
(
1
,
conductor
,
pasajeros
,
0
,
2
,
true
,
viaje
);
ResponseEntity
<
Reserva
>
respuestaR
=
restTemplate
.
postForEntity
(
"/reservas/crearReserva/"
+
dni
,
reserva
,
Reserva
.
class
);
String
nuevoOrigen
=
"nuevoOrigen"
;
String
nuevoDestino
=
"nuevoDestino"
;
Map
<
String
,
Object
>
requestBody
=
new
HashMap
<>();
requestBody
.
put
(
"nuevoOrigen"
,
nuevoOrigen
);
requestBody
.
put
(
"nuevoDestino"
,
nuevoDestino
);
// Enviar la solicitud con datos en el cuerpo como JSON
ResponseEntity
<
DTOReserva
>
respuestaA
=
restTemplate
.
exchange
(
"/reservas/actualizarReserva/{id}"
,
HttpMethod
.
PUT
,
new
HttpEntity
<>(
requestBody
),
DTOReserva
.
class
,
1
);
// Verificar que la respuesta sea OK, ya que se supone que el usuario existe en la base de datos
Assertions
.
assertThat
(
respuestaA
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
}
@Test
public
void
crearSolicitud
()
{
Date
fecha
=
new
Date
(
2000
,
12
,
1
);
DTOUsuario
usuario
=
new
DTOUsuario
(
"Fernando"
,
"Alonso Diaz"
,
fecha
,
"78162640S"
,
670988953
,
"hola@gmail.com"
,
"1234"
,
Usuario
.
Rol
.
CONDUCTOR
);
ResponseEntity
<
DTOUsuario
>
respuesta
=
restTemplate
.
postForEntity
(
"/usuarios"
,
usuario
,
DTOUsuario
.
class
);
// Especifica el formato deseado para la fecha
SimpleDateFormat
formato
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Usuario
conductor
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
fecha
,
"78162640S"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Usuario
.
Rol
.
CONDUCTOR
);
ArrayList
<
String
>
pasajeros
=
new
ArrayList
<>();
pasajeros
.
add
(
"Ana"
);
pasajeros
.
add
(
"Perico"
);
String
dni
=
"78162640S"
;
Viaje
viaje
=
new
Viaje
(
"Origen"
,
"Destino"
,
new
Date
(),
3
,
20
,
5
);
// Convierte la fecha a String
String
fechaComoString
=
formato
.
format
(
fecha
);
DTOReserva
reserva
=
new
DTOReserva
(
1
,
conductor
,
pasajeros
,
0
,
2
,
true
,
viaje
);
restTemplate
.
postForEntity
(
"/reservas/crearReserva/"
+
dni
,
reserva
,
Reserva
.
class
);
Date
fecha2
=
new
Date
(
2025
,
12
,
1
);
// Convierte la fecha a String
String
fe2
=
formato
.
format
(
fecha
);
Usuario
u
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
fecha
,
"78162640S"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Usuario
.
Rol
.
CONDUCTOR
);
Reserva
r
=
new
Reserva
(
u
,
"Origen"
,
"Destino"
,
3
,
20
,
fecha2
);
Long
id
=
1L
;
Usuario
.
Rol
rol
=
u
.
getRol
();
String
convertirRol
=
rol
.
name
();
Map
<
String
,
Object
>
requestBody
=
new
HashMap
<>();
requestBody
.
put
(
"nombre"
,
u
.
getNombre
());
requestBody
.
put
(
"apellidos"
,
u
.
getApellidos
());
requestBody
.
put
(
"fecha"
,
fechaComoString
);
requestBody
.
put
(
"dni"
,
u
.
getDNI
());
requestBody
.
put
(
"telefono"
,
u
.
getTelefono
());
requestBody
.
put
(
"email"
,
u
.
getEmail
());
requestBody
.
put
(
"claveAcceso"
,
u
.
getClaveAcceso
());
requestBody
.
put
(
"rol"
,
convertirRol
);
requestBody
.
put
(
"origen"
,
r
.
getViaje
().
getOrigen
());
requestBody
.
put
(
"destino"
,
r
.
getViaje
().
getDestino
());
requestBody
.
put
(
"numAsientos"
,
r
.
getNumPasajeros
());
requestBody
.
put
(
"precio"
,
r
.
getViaje
().
getPrecioAsiento
());
requestBody
.
put
(
"fecha2"
,
fe2
);
ResponseEntity
<
Solicitud
>
respuestaR
=
restTemplate
.
exchange
(
"/solicitudes"
,
HttpMethod
.
POST
,
new
HttpEntity
<>(
requestBody
),
Solicitud
.
class
int
entero
=
123456
;
long
numero
=
(
long
)
entero
;
DTOSolicitud
s
=
new
DTOSolicitud
(
numero
,
r
,
u
);
ResponseEntity
<
Solicitud
>
respuestaR
=
restTemplate
.
postForEntity
(
"/solicitudes"
,
s
,
Solicitud
.
class
);
Assertions
.
assertThat
(
respuestaR
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
}
@Test
...
...
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