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
a59fbd58
authored
Dec 14, 2023
by
Alvaro Ordóñez Romero
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Eliminación clase SistemaCarPooling.java
parent
27504b79
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
99 additions
and
167 deletions
src/main/java/com/carpooling/carpoolingaoraha/CarPoolingAorAhaApplication.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/Reserva.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/SistemaCarPooling.java
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
src/main/java/com/carpooling/carpoolingaoraha/repositorios/ReservaRepository.java
src/main/java/com/carpooling/carpoolingaoraha/rest/ControladorREST.java
src/main/java/com/carpooling/carpoolingaoraha/rest/dto/DTOUsuario.java
src/main/java/com/carpooling/carpoolingaoraha/rest/dto/DTOViaje.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/CarPoolingAorAhaApplication.java
View file @
a59fbd58
package
com
.
carpooling
.
carpoolingaoraha
;
import
com.carpooling.carpoolingaoraha.entidades.SistemaCarPooling
;
import
com.carpooling.carpoolingaoraha.entidades.Usuario
;
import
com.carpooling.carpoolingaoraha.services.ServicioCarPooling
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.domain.EntityScan
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
@SpringBootApplication
(
scanBasePackages
=
{
"com.carpooling.carpoolingaoraha.services"
,
"com.carpooling.carpoolingaoraha.repositorios"
,
...
...
src/main/java/com/carpooling/carpoolingaoraha/entidades/Reserva.java
View file @
a59fbd58
...
...
@@ -8,6 +8,7 @@ import java.util.List;
import
com.carpooling.carpoolingaoraha.entidades.*
;
import
com.carpooling.carpoolingaoraha.services.ServicioCarPooling
;
import
jakarta.persistence.*
;
import
javax.validation.constraints.Max
;
...
...
@@ -41,7 +42,7 @@ public class Reserva {
@JoinColumn
(
name
=
"idReserva"
)
private
Viaje
viaje
;
@Transient
S
istema
CarPooling
sistema
;
S
ervicio
CarPooling
sistema
;
public
Reserva
(){
this
.
pasajeros
=
new
ArrayList
<
String
>();
...
...
@@ -51,9 +52,8 @@ public class Reserva {
this
.
idReserva
=
++
incrementaReserva
;
this
.
numPasajeros
=
nAsientos
;
this
.
viaje
=
new
Viaje
(
origen
,
destino
,
fechaSalida
,
nAsientos
,
precioAsiento
,
this
.
idReserva
);
this
.
sistema
=
new
SistemaCarPooling
();
this
.
sistema
.
addViaje
(
this
.
viaje
);
this
.
sistema
.
addReserva
(
this
);
sistema
.
altaViaje
(
this
.
viaje
);
sistema
.
crearReserva
(
conductor
.
getDNI
(),
this
);
this
.
puntuacion
=
0
;
this
.
pasajeros
=
new
ArrayList
<
String
>();
this
.
reservaConcluida
=
false
;
...
...
@@ -61,7 +61,7 @@ public class Reserva {
}
public
void
anadirReserva
(
Reserva
res
){
this
.
sistema
.
get
Reservas
().
add
(
res
);
this
.
sistema
.
listar
Reservas
().
add
(
res
);
}
...
...
src/main/java/com/carpooling/carpoolingaoraha/entidades/SistemaCarPooling.java
deleted
100644 → 0
View file @
27504b79
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
SistemaCarPooling
{
private
String
nombre
;
private
List
<
Viaje
>
listadoViajes
;
private
List
<
Usuario
>
listadoUsuarios
;
private
List
<
Reserva
>
listadoReservas
;
private
List
<
Viaje
>
viajesRealizados
;
/*public SistemaCarPooling() {
this.nombre = "Blablacar";
this.listadoViajes = new ArrayList<>();
this.listadoUsuarios = new ArrayList<>();
this.listadoReservas = new ArrayList<>();
this.viajesRealizados = new ArrayList<>();
}*/
public
SistemaCarPooling
()
{
this
.
nombre
=
"Blablacar"
;
this
.
listadoViajes
=
new
ArrayList
<>();
Viaje
v
=
new
Viaje
();
this
.
listadoViajes
.
add
(
v
);
this
.
listadoUsuarios
=
new
ArrayList
<>();
Usuario
u
=
new
Usuario
();
this
.
listadoUsuarios
.
add
(
u
);
this
.
listadoReservas
=
new
ArrayList
<>();
Reserva
r
=
new
Reserva
();
this
.
listadoReservas
.
add
(
r
);
this
.
viajesRealizados
=
new
ArrayList
<>();
Viaje
k
=
new
Viaje
();
this
.
listadoViajes
.
add
(
k
);
}
public
String
getNombre
()
{
return
nombre
;
}
public
void
setNombre
(
String
nombre
)
{
this
.
nombre
=
nombre
;
}
public
List
<
Viaje
>
getViajes
()
{
return
listadoViajes
;
}
public
List
<
Usuario
>
getUsuarios
()
{
return
listadoUsuarios
;
}
public
void
addViaje
(
Viaje
viaje
){
listadoViajes
.
add
(
viaje
);
}
public
void
addReserva
(
Reserva
res
){
listadoReservas
.
add
(
res
);
}
public
List
<
Reserva
>
getReservas
()
{
return
listadoReservas
;
}
/*public boolean login(String email, String claveAcceso) {
List<Usuario> usuariosRegistrados = usuarios;
for (Usuario usuario : usuariosRegistrados) {
if (usuario.getEmail().equals(email) && usuario.getClaveAcceso().equals(claveAcceso)) {
return true; // Coinciden las credenciales, el inicio de sesión es exitoso
}
}
// Si llegamos aquí, significa que no se encontró un usuario con las credenciales proporcionadas
throw new UsuarioNoRegistrado(); // Lanzar la excepción UsuarioNoRegistrado
}
public void registrarse(String nombre, String apellidos, Date FNac, String DNI, int telefono, String email,
String claveAcceso) {
// Verificar si el usuario ya está registrado
for (Usuario usuario : usuarios) {
if (usuario.getEmail().equals(email)) {
throw new CorreoDuplicadoException();
}
}
// Si no hay ningún usuario con el mismo correo, crear un nuevo usuario y agregarlo a la lista
Usuario nuevoUsuario = new Usuario(nombre, apellidos, FNac, DNI, telefono, email, claveAcceso, Rol.PASAJERO);
nuevoUsuario.setSistemaCarPooling(this);
usuarios.add(nuevoUsuario);
}*/
public
List
<
Viaje
>
getViajesRealizados
()
{
return
viajesRealizados
;
}
}
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
View file @
a59fbd58
...
...
@@ -3,6 +3,7 @@ package com.carpooling.carpoolingaoraha.entidades;
import
com.carpooling.carpoolingaoraha.excepciones.ReservaNoRegistrada
;
import
com.carpooling.carpoolingaoraha.excepciones.SolicitudYaExistente
;
import
com.carpooling.carpoolingaoraha.excepciones.ViajeNoRegistrado
;
import
com.carpooling.carpoolingaoraha.services.ServicioCarPooling
;
import
com.carpooling.carpoolingaoraha.utils.ExprReg
;
import
jakarta.persistence.*
;
import
org.antlr.v4.runtime.misc.NotNull
;
...
...
@@ -239,9 +240,9 @@ public class Usuario {
public
boolean
asignarPuntuacion
(
int
idReserva
,
String
DNI
,
int
puntuacion
){
if
(
puntuacion
<=
5
)
{
for
(
int
i
=
0
;
i
<
this
.
sistemaCarPooling
.
get
Reservas
().
size
();
i
++)
{
if
(
idReserva
==
this
.
s
istemaCarPooling
.
getReservas
().
get
(
i
).
getIdReserva
()
&&
this
.
sistemaCarPooling
.
get
Reservas
().
get
(
i
).
esViajero
(
DNI
))
{
this
.
s
istemaCarPooling
.
get
Reservas
().
get
(
i
).
anadirPuntuacion
(
puntuacion
);
for
(
int
i
=
0
;
i
<
servicioCarPooling
.
listar
Reservas
().
size
();
i
++)
{
if
(
idReserva
==
this
.
s
ervicioCarPooling
.
listarReservas
().
get
(
i
).
getIdReserva
()
&&
this
.
servicioCarPooling
.
listar
Reservas
().
get
(
i
).
esViajero
(
DNI
))
{
this
.
s
ervicioCarPooling
.
listar
Reservas
().
get
(
i
).
anadirPuntuacion
(
puntuacion
);
}
}
return
true
;
...
...
@@ -268,7 +269,7 @@ public class Usuario {
// Filtrar las reservas asociadas a los viajes y calcular la puntuación de los conductores
List
<
Reserva
>
reservasAsociadas
=
new
ArrayList
<>();
for
(
Reserva
reserva
:
s
istemaCarPooling
.
get
Reservas
())
{
for
(
Reserva
reserva
:
s
ervicioCarPooling
.
listar
Reservas
())
{
if
(
viajesDisponibles
.
contains
(
reserva
.
getViaje
()))
{
reservasAsociadas
.
add
(
reserva
);
}
...
...
@@ -309,7 +310,7 @@ public class Usuario {
public
boolean
solicitarViaje
(
int
idReserva
,
Rol
rol
)
{
if
(
rol
==
Rol
.
PASAJERO
||
rol
==
Rol
.
AMBOS
)
{
for
(
Reserva
reserva
:
s
istemaCarPooling
.
get
Reservas
())
{
for
(
Reserva
reserva
:
s
ervicioCarPooling
.
listar
Reservas
())
{
if
(
idReserva
==
reserva
.
getIdReserva
()
&&
!
reserva
.
getReservaConcluida
())
{
// Verificar si ya hay una solicitud pendiente para esta reserva
if
(!
tieneSolicitudPendiente
(
reserva
))
{
...
...
@@ -333,7 +334,7 @@ public class Usuario {
public
boolean
solicitarViaje
(
int
idReserva
,
Solicitud
s
)
{
if
(
rol
==
Rol
.
PASAJERO
||
rol
==
Rol
.
AMBOS
)
{
for
(
Reserva
reserva
:
s
istemaCarPooling
.
get
Reservas
())
{
for
(
Reserva
reserva
:
s
ervicioCarPooling
.
listar
Reservas
())
{
if
(
idReserva
==
reserva
.
getIdReserva
()
&&
!
reserva
.
getReservaConcluida
())
{
// Verificar si ya hay una solicitud pendiente para esta reserva
if
(!
tieneSolicitudPendiente
(
reserva
))
{
...
...
@@ -383,9 +384,6 @@ public class Usuario {
return
historicoSolicitudes
;
}
public
SistemaCarPooling
getSistemaCarPooling
()
{
return
sistemaCarPooling
;
}
public
void
setPuntuacion
(
ArrayList
<
Double
>
puntuacion
)
{
this
.
puntuacion
=
puntuacion
;
...
...
src/main/java/com/carpooling/carpoolingaoraha/repositorios/ReservaRepository.java
View file @
a59fbd58
...
...
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Repository;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Optional
;
@Repository
...
...
@@ -53,4 +54,10 @@ public class ReservaRepository {
em
.
remove
(
reserva
);
}
}
@Cacheable
(
"reservas"
)
@Transactional
(
propagation
=
Propagation
.
SUPPORTS
,
readOnly
=
true
)
public
List
<
Reserva
>
obtenerTodosLosReservas
()
{
return
em
.
createQuery
(
"SELECT r FROM Reserva r"
,
Reserva
.
class
).
getResultList
();
}
}
src/main/java/com/carpooling/carpoolingaoraha/rest/ControladorREST.java
View file @
a59fbd58
...
...
@@ -68,11 +68,12 @@ public class ControladorREST {
@PutMapping
(
"/usuarios/modificar/{dni}"
)
ResponseEntity
<
DTOUsuario
>
actualizarCliente
(
@PathVariable
String
dni
,
@RequestBody
String
nombre
@RequestBody
Usuario
usuarioModificado
)
{
Optional
<
Usuario
>
usuarioExistente
=
servicioCarPooling
.
verUsuario
(
dni
);
return
usuarioExistente
.
map
(
usuario
->
{
usuario
.
setNombre
(
nombre
);
usuario
.
setNombre
(
usuarioModificado
.
getNombre
());
usuario
.
setApellidos
(
usuarioModificado
.
getApellidos
());
servicioCarPooling
.
modificarDatosUsuario
(
usuario
);
return
ResponseEntity
.
ok
(
new
DTOUsuario
(
usuario
));
}).
orElse
(
ResponseEntity
.
notFound
().
build
());
...
...
@@ -134,14 +135,10 @@ public class ControladorREST {
* Modificar datos de un viaje
*/
@PutMapping
(
"/viajes/actualizarViaje/{id}"
)
public
ResponseEntity
<
Viaje
>
actualizarViaje
(
@PathVariable
int
id
,
@RequestBody
Viaje
viajeActualizado
)
{
public
ResponseEntity
<
Viaje
>
actualizarViaje
(
@PathVariable
int
id
,
@RequestBody
String
origen
)
{
Optional
<
Viaje
>
viajeExistente
=
servicioCarPooling
.
verViaje
(
id
);
return
viajeExistente
.
map
(
viaje
->
{
viaje
.
setOrigen
(
viajeActualizado
.
getOrigen
());
viaje
.
setDestino
(
viajeActualizado
.
getDestino
());
viaje
.
setFechaSalida
(
viajeActualizado
.
getFechaSalida
());
viaje
.
setnAsientos
(
viajeActualizado
.
getnAsientos
());
viaje
.
setPrecioAsiento
(
viajeActualizado
.
getPrecioAsiento
());
viaje
.
setOrigen
(
origen
);
Viaje
viajeModificado
=
servicioCarPooling
.
modificarDatosViaje
(
viaje
);
return
ResponseEntity
.
ok
(
viajeModificado
);
...
...
@@ -152,7 +149,7 @@ public class ControladorREST {
@PostMapping
(
"/reservas/crearReserva/{dni}"
)
public
ResponseEntity
<
Reserva
>
crearReserva
(
@PathVariable
String
dni
)
{
try
{
servicioCarPooling
.
crearReserva
(
dni
);
servicioCarPooling
.
crearReserva
(
dni
,
new
Reserva
()
);
return
ResponseEntity
.
status
(
HttpStatus
.
CREATED
).
build
();
}
catch
(
UsuarioYaRegistrado
e
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
CONFLICT
).
build
();
...
...
src/main/java/com/carpooling/carpoolingaoraha/rest/dto/DTOUsuario.java
View file @
a59fbd58
package
com
.
carpooling
.
carpoolingaoraha
.
rest
.
dto
;
import
com.carpooling.carpoolingaoraha.entidades.SistemaCarPooling
;
import
com.carpooling.carpoolingaoraha.entidades.Solicitud
;
import
com.carpooling.carpoolingaoraha.entidades.Usuario
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
public
record
DTOUsuario
(
String
nombre
,
String
apellidos
,
Date
FNac
,
String
DNI
,
int
telefono
,
String
email
,
String
claveAcceso
,
Usuario
.
Rol
rol
){
...
...
src/main/java/com/carpooling/carpoolingaoraha/rest/dto/DTOViaje.java
View file @
a59fbd58
...
...
@@ -3,8 +3,6 @@ package com.carpooling.carpoolingaoraha.rest.dto;
import
java.util.Date
;
import
java.util.Objects
;
import
com.carpooling.carpoolingaoraha.entidades.SistemaCarPooling
;
import
com.carpooling.carpoolingaoraha.entidades.Viaje
;
public
record
DTOViaje
(
...
...
src/main/java/com/carpooling/carpoolingaoraha/services/ServicioCarPooling.java
View file @
a59fbd58
...
...
@@ -134,11 +134,9 @@ public class ServicioCarPooling {
}
@CacheEvict
(
value
=
"usuarios"
,
key
=
"#dni"
)
public
Reserva
crearReserva
(
@NotBlank
String
dni
)
{
public
Reserva
crearReserva
(
@NotBlank
String
dni
,
@NotNull
Reserva
reserva
)
{
Usuario
usuario
=
repositorioUsuario
.
buscar
(
dni
).
orElseThrow
(
UsuarioNoRegistrado:
:
new
);
Reserva
reserva
=
new
Reserva
();
usuario
.
setRol
(
CONDUCTOR
);
usuario
.
ofrecerViaje
(
reserva
);
repositorioReservas
.
guardar
(
reserva
);
...
...
@@ -261,4 +259,13 @@ public class ServicioCarPooling {
return
solicitud
;
}
@Transactional
public
List
<
Reserva
>
listarReservas
()
{
List
<
Reserva
>
reservas
=
repositorioReservas
.
obtenerTodosLosReservas
();
if
(
reservas
==
null
)
throw
new
ReservaNoRegistrada
();
return
reservas
;
}
}
src/test/java/com/carpooling/carpoolingaoraha/ControladorRESTEST/ControladorRESTTEST.java
View file @
a59fbd58
...
...
@@ -4,6 +4,8 @@ import com.carpooling.carpoolingaoraha.entidades.*;
import
com.carpooling.carpoolingaoraha.rest.dto.DTOReserva
;
import
com.carpooling.carpoolingaoraha.rest.dto.DTOSolicitud
;
import
com.carpooling.carpoolingaoraha.rest.dto.DTOUsuario
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.springframework.http.HttpHeaders
;
import
java.time.LocalDate
;
...
...
@@ -98,10 +100,14 @@ public class ControladorRESTTEST {
// Verificar que la creación del usuario fue exitosa
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
String
nombre
=
"Hamilton"
;
// Crear un objeto ActualizarUsuarioRequest con los parámetros a enviar
Usuario
usuarioModificado
=
new
Usuario
();
usuarioModificado
.
setNombre
(
"Lewis"
);
usuarioModificado
.
setApellidos
(
"Hamilton"
);
// Enviar la solicitud con datos en el cuerpo como JSON
ResponseEntity
<
DTOUsuario
>
respuestaA
=
restTemplate
.
exchange
(
"/usuarios/modificar/{dni}"
,
HttpMethod
.
PUT
,
new
HttpEntity
<>(
nombre
),
DTOUsuario
.
class
,
dni
"/usuarios/modificar/{dni}"
,
HttpMethod
.
PUT
,
new
HttpEntity
<>(
usuarioModificado
),
DTOUsuario
.
class
,
dni
);
// Verificar que la respuesta sea OK, ya que se supone que el usuario existe en la base de datos
...
...
@@ -109,16 +115,31 @@ public class ControladorRESTTEST {
}
@Test
public
void
testEliminarUsuario
(){
// Datos de prueba
String
dni
=
"78162640S"
;
// Realizar la solicitud DELETE para eliminar el usuario
restTemplate
.
delete
(
"/usuarios/borrarUsuario/{dni}"
,
dni
);
ResponseEntity
<
DTOUsuario
>
respuesta
=
restTemplate
.
getForEntity
(
"/usuarios/"
,
DTOUsuario
.
class
,
dni
);
String
dni
=
"78362640S"
;
Date
fecha
=
new
Date
(
2000
,
12
,
1
);
DTOUsuario
usuario
=
new
DTOUsuario
(
"Fernando"
,
"Alonso Diaz"
,
fecha
,
"78362640S"
,
670988953
,
"hola@gmail.com"
,
"1234"
,
Usuario
.
Rol
.
CONDUCTOR
);
ResponseEntity
<
DTOUsuario
>
respuesta
=
restTemplate
.
postForEntity
(
"/usuarios"
,
usuario
,
DTOUsuario
.
class
);
// Realizar la solicitud GET con parámetros de ruta
ResponseEntity
<
DTOUsuario
>
respuestaS
=
restTemplate
.
exchange
(
"/usuarios/mostrarUsuario/"
+
dni
,
HttpMethod
.
GET
,
null
,
DTOUsuario
.
class
,
dni
);
// lo encuentra porque existe ese DNI en la BBDD
Assertions
.
assertThat
(
respuestaS
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
restTemplate
.
delete
(
"/usuarios/borrarUsuario/"
+
dni
,
dni
);
ResponseEntity
<
DTOUsuario
>
respuesta3
=
restTemplate
.
getForEntity
(
"/usuarios/"
,
DTOUsuario
.
class
,
dni
);
// Verificar que la respuesta sea un error 404 Not Found
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
Assertions
.
assertThat
(
respuesta
3
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
}
@Test
...
...
@@ -138,37 +159,58 @@ public class ControladorRESTTEST {
void
testVerViajePorId
()
{
// Datos de prueba
int
idViaje
=
1
;
// Debes adaptar esto según tus datos de prueba
Date
fecha
=
new
Date
(
2024
,
12
,
1
);
DTOViaje
viaje
=
new
DTOViaje
(
"Origen"
,
"destino"
,
fecha
,
4
,
10
,
idViaje
);
ResponseEntity
<
DTOViaje
>
respuesta
=
restTemplate
.
postForEntity
(
"/viajes"
,
viaje
,
DTOViaje
.
class
);
// Realizar la solicitud GET para obtener un viaje por su ID
ResponseEntity
<
Viaje
>
respuesta
=
restTemplate
.
getForEntity
(
"/viajes/"
,
Viaje
.
class
,
idViaje
);
ResponseEntity
<
Viaje
>
respuesta
2
=
restTemplate
.
getForEntity
(
"/viajes/"
+
idViaje
,
Viaje
.
class
,
idViaje
);
// Verificar que la respuesta sea un código 404 Not Found
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
Assertions
.
assertThat
(
respuesta
2
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
}
@Test
public
void
testActualizarViajeExistente
()
{
int
idViaje
=
847132468
;
// Realizar la solicitud POST para actualizar el cliente existente
ResponseEntity
<
DTOViaje
>
respuesta
=
restTemplate
.
postForEntity
(
"/viajes/actualizarViaje/"
,
idViaje
,
DTOViaje
.
class
);
// Verificar que la respuesta sea mala, ya que no existe ese usuario en la bbdd
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
// Datos de prueba
int
idViaje
=
1
;
// Debes adaptar esto según tus datos de prueba
Date
fecha
=
new
Date
(
2024
,
12
,
1
);
DTOViaje
viaje
=
new
DTOViaje
(
"Origen"
,
"destino"
,
fecha
,
4
,
10
,
idViaje
);
ResponseEntity
<
DTOViaje
>
respuesta
=
restTemplate
.
postForEntity
(
"/viajes"
,
viaje
,
DTOViaje
.
class
);
// Verificar que la creación del usuario fue exitosa
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
String
origen
=
"nuevoOrigen"
;
ResponseEntity
<
DTOUsuario
>
respuestaA
=
restTemplate
.
exchange
(
"/viajes/actualizarViaje/{id}"
,
HttpMethod
.
PUT
,
new
HttpEntity
<>(
origen
),
DTOUsuario
.
class
,
idViaje
);
// 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
testEliminarViaje
Existente
()
{
public
void
testEliminarViaje
()
{
// Datos de prueba
int
idViaje
=
1
;
// Debes adaptar esto según tus datos de prueba
Date
fecha
=
new
Date
(
2024
,
12
,
1
);
DTOViaje
viaje
=
new
DTOViaje
(
"Origen"
,
"destino"
,
fecha
,
4
,
10
,
idViaje
);
ResponseEntity
<
DTOViaje
>
respuesta
=
restTemplate
.
postForEntity
(
"/viajes"
,
viaje
,
DTOViaje
.
class
);
// Realizar la solicitud DELETE para eliminar un viaje existente
restTemplate
.
delete
(
"/viajes/eliminarViaje/{id}"
,
idViaje
);
ResponseEntity
<
Viaje
>
respuestaDespuesDeEliminar
=
restTemplate
.
getForEntity
(
"/viajes/"
,
Viaje
.
class
,
idViaje
);
// Realizar la solicitud GET para obtener un viaje por su ID
ResponseEntity
<
Viaje
>
respuesta2
=
restTemplate
.
getForEntity
(
"/viajes/"
+
idViaje
,
Viaje
.
class
,
idViaje
);
// Verificar que la respuesta sea un código 404 Not Found
Assertions
.
assertThat
(
respuestaDespuesDeEliminar
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
Assertions
.
assertThat
(
respuesta2
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
restTemplate
.
delete
(
"/viajes/eliminarViaje/"
+
idViaje
,
idViaje
);
ResponseEntity
<
DTOUsuario
>
respuesta3
=
restTemplate
.
getForEntity
(
"/viajes/"
,
DTOUsuario
.
class
,
idViaje
);
// Verificar que la respuesta sea un error 404 Not Found
Assertions
.
assertThat
(
respuesta3
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
NOT_FOUND
);
}
@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