Commit cdf72f89 by María Hidalgo

Errores quitados y funcionando

parent 63736694
...@@ -4,15 +4,15 @@ import org.springframework.boot.SpringApplication; ...@@ -4,15 +4,15 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
@SpringBootApplication(scanBasePackages="es.ujaen.dae.carpooling.servicios") @SpringBootApplication(scanBasePackages = "es.ujaen.dae.carpooling.servicios")
public class CarpoolingDaeApplication { public class CarpoolingDaeApplication {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
// Creación de servidor // Creación de servidor
SpringApplication servidor = new SpringApplication(CarpoolingDaeApplication.class); SpringApplication servidor = new SpringApplication(CarpoolingDaeApplication.class);
ApplicationContext context = servidor.run(args); ApplicationContext context = servidor.run(args);
//SpringApplication.run(CarpoolingDaeApplication.class, args); // SpringApplication.run(CarpoolingDaeApplication.class, args);
} }
} }
package es.ujaen.dae.carpoolingdae.entidades; package es.ujaen.dae.carpoolingdae.entidades;
/* import java.util.ArrayList; /* import java.util.ArrayList;
import java.util.List; */ import java.util.List; */
...@@ -9,9 +8,6 @@ import javax.persistence.GeneratedValue; ...@@ -9,9 +8,6 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType; import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
@Entity @Entity
public class Reserva { public class Reserva {
...@@ -19,9 +15,8 @@ public class Reserva { ...@@ -19,9 +15,8 @@ public class Reserva {
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
int id; int id;
//@OneToMany // @OneToMany
// private List<Usuario> pasajerosConfirmados = new ArrayList<>(); // private List<Usuario> pasajerosConfirmados = new ArrayList<>();
// Constructor, getters y setters // Constructor, getters y setters
} }
...@@ -33,7 +33,7 @@ public class Usuario { ...@@ -33,7 +33,7 @@ public class Usuario {
// Lista de viajes como conductor // Lista de viajes como conductor
private List<Viaje> viajesComoConductor; private List<Viaje> viajesComoConductor;
// Lista de viajes como pasajero // Lista de viajes como pasajero
private List<Viaje> viajesComoPasajero; private List<Viaje> viajesComoPasajero;
...@@ -102,8 +102,7 @@ public class Usuario { ...@@ -102,8 +102,7 @@ public class Usuario {
public List<Viaje> getviajesComoConductor() { public List<Viaje> getviajesComoConductor() {
return viajesComoConductor; return viajesComoConductor;
} }
/** /**
* Compara la clave con la del usuario, codificándola en Md5 * Compara la clave con la del usuario, codificándola en Md5
......
...@@ -13,91 +13,91 @@ import javax.validation.constraints.Past; ...@@ -13,91 +13,91 @@ import javax.validation.constraints.Past;
import es.ujaen.dae.carpoolingdae.excepciones.PlazaNoDisponible; import es.ujaen.dae.carpoolingdae.excepciones.PlazaNoDisponible;
public class Viaje {
// Lista de usuarios que solicitan unirse a un viaje
private List<Usuario> usuariosSolicitantes = new ArrayList<>();
public class Viaje { // Lista de usuarios que son confirmados en un viaje
private List<Usuario> usuariosConfirmados = new ArrayList<>();
//Lista de usuarios que solicitan unirse a un viaje @ManyToOne
private List<Usuario> usuariosSolicitantes = new ArrayList<>();
//Lista de usuarios que son confirmados en un viaje
private List<Usuario> usuariosConfirmados = new ArrayList<>();
@ManyToOne
private Usuario conductor; private Usuario conductor;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id int id;
@GeneratedValue(strategy = GenerationType.IDENTITY)
int id;
@NotBlank @NotBlank
String destino; String destino;
@NotBlank @NotBlank
String origen; String origen;
@Past @Past
LocalDateTime fecha_hora; LocalDateTime fecha_hora;
@NotBlank @NotBlank
int plazasDisponibles; int plazasDisponibles;
@NotBlank @NotBlank
Double precioAsiento; Double precioAsiento;
public Viaje(int id,String destino, String origen, LocalDateTime fecha_hora, int plazasDisponibles, Double precioAsiento){ public Viaje(int id, String destino, String origen, LocalDateTime fecha_hora, int plazasDisponibles,
Double precioAsiento) {
this.id = id; this.id = id;
this.origen = origen; this.origen = origen;
this.destino = destino; this.destino = destino;
this.fecha_hora = fecha_hora; this.fecha_hora = fecha_hora;
this.plazasDisponibles = plazasDisponibles; this.plazasDisponibles = plazasDisponibles;
this.precioAsiento = precioAsiento; this.precioAsiento = precioAsiento;
//reservas = new ArrayList<>(); // reservas = new ArrayList<>();
} }
public int getId() {
public int getId(){
return id; return id;
} }
public String getDestino(){ public String getDestino() {
return destino; return destino;
} }
public String getOrigen(){
public String getOrigen() {
return origen; return origen;
} }
public LocalDateTime getFecha_hora(){
public LocalDateTime getFecha_hora() {
return fecha_hora; return fecha_hora;
} }
public int getPlazas(){
public int getPlazas() {
return plazasDisponibles; return plazasDisponibles;
} }
public Double getPrecio(){
public Double getPrecio() {
return precioAsiento; return precioAsiento;
} }
public List<Usuario> getUsuariosSolicitantes() { public List<Usuario> getUsuariosSolicitantes() {
return usuariosSolicitantes; return usuariosSolicitantes;
} }
public List<Usuario> getusuariosConfirmados() { public List<Usuario> getusuariosConfirmados() {
return usuariosConfirmados; return usuariosConfirmados;
} }
public void setConductor(Usuario conductor) { public void setConductor(Usuario conductor) {
this.conductor = conductor; this.conductor = conductor;
} }
public void addPasajero(Usuario pasajero){ public void addPasajero(Usuario pasajero) {
if (plazasDisponibles > 0) { if (plazasDisponibles > 0) {
usuariosConfirmados.add(pasajero); usuariosConfirmados.add(pasajero);
plazasDisponibles--; plazasDisponibles--;
} else { } else {
throw new PlazaNoDisponible(); throw new PlazaNoDisponible();
} }
} }
} }
...@@ -17,6 +17,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -17,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
import es.ujaen.dae.carpoolingdae.entidades.Usuario; import es.ujaen.dae.carpoolingdae.entidades.Usuario;
import es.ujaen.dae.carpoolingdae.entidades.Viaje; import es.ujaen.dae.carpoolingdae.entidades.Viaje;
import es.ujaen.dae.carpoolingdae.excepciones.PlazaNoDisponible;
import es.ujaen.dae.carpoolingdae.excepciones.UsuarioNoRegistrado; import es.ujaen.dae.carpoolingdae.excepciones.UsuarioNoRegistrado;
import es.ujaen.dae.carpoolingdae.excepciones.UsuarioYaRegistrado; import es.ujaen.dae.carpoolingdae.excepciones.UsuarioYaRegistrado;
import es.ujaen.dae.carpoolingdae.excepciones.ViajeNoExistente; import es.ujaen.dae.carpoolingdae.excepciones.ViajeNoExistente;
...@@ -77,41 +78,46 @@ public class SistemaCarpooling { ...@@ -77,41 +78,46 @@ public class SistemaCarpooling {
if (viaje.getOrigen().equals(origen) && viaje.getDestino().equals(destino) if (viaje.getOrigen().equals(origen) && viaje.getDestino().equals(destino)
&& viaje.getFecha_hora().toLocalDate().equals(fecha)) { && viaje.getFecha_hora().toLocalDate().equals(fecha)) {
viajesEncontrados.add(viaje); viajesEncontrados.add(viaje);
}else{ } else {
throw new ViajeNoExistente(); throw new ViajeNoExistente();
} }
} }
return viajesEncontrados; return viajesEncontrados;
} }
public void agregarViaje(@NotBlank String dni, @NotNull @Valid Viaje viaje) { public void agregarViaje(@NotBlank String dni, @NotNull @Valid Viaje viaje) {
// Verificar si el usuario conductor existe en la base de datos // Verificar si el usuario conductor existe en la base de datos
Usuario conductor = usuarios.get(dni); Usuario conductor = usuarios.get(dni);
if (conductor == null) { if (conductor == null) {
throw new UsuarioNoRegistrado(); throw new UsuarioNoRegistrado();
} }
// Asignar el conductor al viaje // Asignar el conductor al viaje
viaje.setConductor(conductor); viaje.setConductor(conductor);
// Agregar el viaje a la lista de viajes del conductor (si es necesario) // Agregar el viaje a la lista de viajes del conductor (si es necesario)
conductor.getviajesComoConductor().add(viaje); conductor.getviajesComoConductor().add(viaje);
// Agregar el viaje al mapa de viajes // Agregar el viaje al mapa de viajes
viajes.put(String.valueOf(viaje.getId()), viaje); viajes.put(String.valueOf(viaje.getId()), viaje);
} }
/** /**
* Enviar solicitud para ser pasajero de un viaje * Enviar solicitud para ser pasajero de un viaje
* *
* @param viaje al que se envía la solicitud * @param viaje al que se envía la solicitud
*/ */
public void enviarSolicitudViaje(Viaje viaje, Usuario pasajero) { public void enviarSolicitudViaje(Viaje viaje, Usuario pasajero) {
if (viaje != null && ! viaje.getUsuariosSolicitantes().contains(pasajero)) { if (viaje != null && !viaje.getUsuariosSolicitantes().contains(pasajero) && viaje.getPlazas() > 0) { // Envía la
// solicitud
// solo si
// hay
// plazas
// disponibles
viaje.getUsuariosSolicitantes().add(pasajero);// Agregar este usuario a la lista de solicitantes en el Viaje viaje.getUsuariosSolicitantes().add(pasajero);// Agregar este usuario a la lista de solicitantes en el Viaje
} else {
throw new PlazaNoDisponible();
} }
} }
...@@ -123,12 +129,12 @@ public class SistemaCarpooling { ...@@ -123,12 +129,12 @@ public class SistemaCarpooling {
*/ */
public void aceptarPasajero(@NotNull @Valid Viaje viaje, Usuario pasajero) { public void aceptarPasajero(@NotNull @Valid Viaje viaje, Usuario pasajero) {
if (viaje != null && viaje.getUsuariosSolicitantes().contains(pasajero) && pasajero.getviajesComoConductor().contains(viaje)) { //AQUI EN VER QUE SOLO PUEDE ACEPTAR EL CONDUCTOR if (viaje != null && viaje.getUsuariosSolicitantes().contains(pasajero)
&& pasajero.getviajesComoConductor().contains(viaje)) { // SOLO PUEDE ACEPTAR EL
// CONDUCTOR
viaje.getUsuariosSolicitantes().remove(pasajero); viaje.getUsuariosSolicitantes().remove(pasajero);
viaje.getusuariosConfirmados().add(pasajero); viaje.getusuariosConfirmados().add(pasajero);
} else {
throw new IllegalArgumentException("No se puede aceptar al pasajero.");
} }
} }
} }
\ No newline at end of file
...@@ -20,13 +20,12 @@ public class CodificadorMd5 { ...@@ -20,13 +20,12 @@ public class CodificadorMd5 {
public static String codificar(String cadena) { public static String codificar(String cadena) {
String cadenaCodificada = null; String cadenaCodificada = null;
try { try {
MessageDigest md = MessageDigest.getInstance("MD5"); MessageDigest md = MessageDigest.getInstance("MD5");
md.update(cadena.getBytes()); md.update(cadena.getBytes());
cadenaCodificada = Base64.getEncoder().withoutPadding().encodeToString(md.digest()); cadenaCodificada = Base64.getEncoder().withoutPadding().encodeToString(md.digest());
} } catch (NoSuchAlgorithmException e) {
catch(NoSuchAlgorithmException e) {
// No debe ocurrir puesto que MD5 es un algoritmo que existe en la // No debe ocurrir puesto que MD5 es un algoritmo que existe en la
// implementación Java estándar // implementación Java estándar
} }
......
package es.ujaen.dae.carpoolingdae.entidades; package es.ujaen.dae.carpoolingdae.entidades;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolation;
import javax.validation.Validation; import javax.validation.Validation;
...@@ -38,23 +34,6 @@ public class UsuarioTest { ...@@ -38,23 +34,6 @@ public class UsuarioTest {
Assertions.assertThat(violations).isEmpty(); Assertions.assertThat(violations).isEmpty();
} }
@Test
public void testAceptarPasajero() {
Viaje viaje = new Viaje(1, "Destino", "Origen", LocalDateTime.of(2023, 9, 30, 8, 0, 0), 4, 50.0);
Usuario pasajero = new Usuario("987654321", "OtroNombre", "OtroApellido", LocalDate.of(1995, 2, 2), "987654321",
"otrocorreo@example.com", "clave");
viaje.getusuariosSolicitantes().add(pasajero);
pasajero.aceptarPasajero(viaje, pasajero);
// Me aseguro de que el pasajero y el conductor no puedan ser la misma persona
assertFalse(viaje.usuariosSolicitantes.contains(pasajero));
assertTrue(viaje.usuariosConfirmados.contains(pasajero));
}
@Test @Test
void testComprobacionClave() { void testComprobacionClave() {
String clave = "mariahm"; String clave = "mariahm";
......
package es.ujaen.dae.carpoolingdae.entidades;
import java.util.List;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
public class ViajeTest {
public ViajeTest() {
}
private Viaje viaje;
@Test
void testAddPasajero() {
Usuario pasajero = new Usuario(); // Crea una instancia de Reserva adecuada para el test
viaje.addPasajero(pasajero);
List<Usuario> usuariosConfirmados = viaje.getusuariosConfirmados();
Assertions.assertThat(1).isEqualTo(usuariosConfirmados.size());
Assertions.assertThat(pasajero).isEqualTo(usuariosConfirmados.get(0));
}
}
package es.ujaen.dae.carpoolingdae.servicios; package es.ujaen.dae.carpoolingdae.servicios;
import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
import javax.validation.ConstraintViolationException; import javax.validation.ConstraintViolationException;
import org.assertj.core.api.Assertions; import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
...@@ -32,18 +26,17 @@ import es.ujaen.dae.carpoolingdae.entidades.Viaje; ...@@ -32,18 +26,17 @@ import es.ujaen.dae.carpoolingdae.entidades.Viaje;
//@Disabled //@Disabled
@SpringBootTest(classes = es.ujaen.dae.carpoolingdae.app.CarpoolingDaeApplication.class) @SpringBootTest(classes = es.ujaen.dae.carpoolingdae.app.CarpoolingDaeApplication.class)
@ActiveProfiles(profiles = {"test"}) @ActiveProfiles(profiles = { "test" })
public class SistemaCarpoolingTest { public class SistemaCarpoolingTest {
@Autowired @Autowired
SistemaCarpooling sistemaCarpooling; SistemaCarpooling sistemaCarpooling;
//Accedemos al sistema // Accedemos al sistema
@Test @Test
public void testAccesoServicioHotel() { public void testAccesoServicioHotel() {
Assertions.assertThat(sistemaCarpooling).isNotNull(); Assertions.assertThat(sistemaCarpooling).isNotNull();
} }
@Test @Test
public void testAccesoSistemaCarpooling() { public void testAccesoSistemaCarpooling() {
...@@ -53,7 +46,7 @@ public class SistemaCarpoolingTest { ...@@ -53,7 +46,7 @@ public class SistemaCarpoolingTest {
@Test @Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD) @DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testAltaUsuarioInvalido() { public void testAltaUsuarioInvalido() {
String clave = "mariahm"; String clave = "mariahm";
Usuario usuario = new Usuario( Usuario usuario = new Usuario(
"22334455H", "22334455H",
"María", "María",
...@@ -68,7 +61,7 @@ public class SistemaCarpoolingTest { ...@@ -68,7 +61,7 @@ public class SistemaCarpoolingTest {
}).isInstanceOf(ConstraintViolationException.class); }).isInstanceOf(ConstraintViolationException.class);
} }
//Damos de alta el usuario // Damos de alta el usuario
@Test @Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD) @DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
...@@ -90,7 +83,6 @@ public class SistemaCarpoolingTest { ...@@ -90,7 +83,6 @@ public class SistemaCarpoolingTest {
Assertions.assertThat(usuarioLogin.get()).isEqualTo(usuario); Assertions.assertThat(usuarioLogin.get()).isEqualTo(usuario);
} }
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD) @DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testAgregarViaje() { public void testAgregarViaje() {
// Crear un objeto Viaje válido // Crear un objeto Viaje válido
...@@ -102,7 +94,7 @@ public class SistemaCarpoolingTest { ...@@ -102,7 +94,7 @@ public class SistemaCarpoolingTest {
2, 2,
50.0); 50.0);
String clave = "mariahm"; String clave = "mariahm";
Usuario usuario = new Usuario( Usuario usuario = new Usuario(
"22334455H", "22334455H",
"María", "María",
...@@ -125,7 +117,7 @@ public class SistemaCarpoolingTest { ...@@ -125,7 +117,7 @@ public class SistemaCarpoolingTest {
// Verificar que se encuentren los viajes esperados // Verificar que se encuentren los viajes esperados
Assertions.assertThat(viajesEncontrados).contains(nuevoViaje); Assertions.assertThat(viajesEncontrados).contains(nuevoViaje);
} }
@Test @Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD) @DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
...@@ -144,7 +136,6 @@ public class SistemaCarpoolingTest { ...@@ -144,7 +136,6 @@ public class SistemaCarpoolingTest {
String destinoBusqueda = "Destino"; String destinoBusqueda = "Destino";
LocalDate fechaBusqueda = LocalDate.of(2023, 9, 30); LocalDate fechaBusqueda = LocalDate.of(2023, 9, 30);
Viaje viaje2 = new Viaje( Viaje viaje2 = new Viaje(
54321, // ID del viaje 54321, // ID del viaje
"Origen2", "Origen2",
...@@ -159,17 +150,13 @@ public class SistemaCarpoolingTest { ...@@ -159,17 +150,13 @@ public class SistemaCarpoolingTest {
LocalDate fechaBusqueda2 = LocalDate.of(2023, 9, 30); LocalDate fechaBusqueda2 = LocalDate.of(2023, 9, 30);
List<Viaje> viajesEncontrados = sistemaCarpooling.buscarViajes(origenBusqueda, destinoBusqueda, fechaBusqueda); List<Viaje> viajesEncontrados = sistemaCarpooling.buscarViajes(origenBusqueda, destinoBusqueda, fechaBusqueda);
//List<Viaje> viajesEncontrados = sistemaCarpooling.buscarViajes(origenBusqueda2, destinoBusqueda2, fechaBusqueda2);
// Verificar que se encuentren los viajes esperados // Verificar que se encuentren los viajes esperados
Assertions.assertThat(viajesEncontrados).containsExactly(viaje); Assertions.assertThat(viajesEncontrados).containsExactly(viaje);
Assertions.assertThat(viajesEncontrados).containsExactly(viaje2); Assertions.assertThat(viajesEncontrados).containsExactly(viaje2);
} }
@Test @Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD) @DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testEnviarSolicitudViaje() { public void testEnviarSolicitudViaje() {
...@@ -192,82 +179,73 @@ public class SistemaCarpoolingTest { ...@@ -192,82 +179,73 @@ public class SistemaCarpoolingTest {
"987654321", "987654321",
"pasajero@example.com", "pasajero@example.com",
"clave"); "clave");
// Crear un viaje // Crear un viaje
Viaje viaje = new Viaje( Viaje viaje = new Viaje(
12345, 12345,
"Origen", "Origen",
"Destino", "Destino",
LocalDateTime.of(2023, 9, 30, 8, 0), LocalDateTime.of(2023, 9, 30, 8, 0),
2, 2,
50.0); 50.0);
viaje.setConductor(conductor); viaje.setConductor(conductor);
// Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(conductor.getDni(), viaje);
// Enviar solicitud de viaje
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
// Verificar que el pasajero está en la lista de solicitantes del viaje
assertTrue(viaje.getUsuariosSolicitantes().contains(pasajero));
}
@Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testAceptarPasajero() {
// Crear un usuario conductor
Usuario conductor = new Usuario(
"12345678A",
"Conductor",
"Apellido",
LocalDate.of(1990, 1, 1),
"123456789",
"conductor@example.com",
"clave");
// Crear un usuario pasajero
Usuario pasajero = new Usuario(
"87654321B",
"Pasajero",
"Apellido",
LocalDate.of(1995, 5, 5),
"987654321",
"pasajero@example.com",
"clave");
// Crear un viaje
Viaje viaje = new Viaje(
12345,
"Origen",
"Destino",
LocalDateTime.of(2023, 9, 30, 8, 0),
2,
50.0);
viaje.setConductor(conductor);
// Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(conductor.getDni(), viaje);
// Enviar solicitud de viaje
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
// Aceptar al pasajero en el viaje
sistemaCarpooling.aceptarPasajero(viaje, pasajero);
// Verificar que el pasajero está en la lista de usuarios confirmados en el viaje
assertTrue(viaje.getusuariosConfirmados().contains(pasajero));
// Verificar que el pasajero ya no está en la lista de solicitantes del viaje
assertFalse(viaje.getUsuariosSolicitantes().contains(pasajero));
}
// Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(conductor.getDni(), viaje);
// Enviar solicitud de viaje
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
// Verificar que el pasajero está en la lista de solicitantes del viaje
assertTrue(viaje.getUsuariosSolicitantes().contains(pasajero));
}
@Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testAceptarPasajero() {
// Crear un usuario conductor
Usuario conductor = new Usuario(
"12345678A",
"Conductor",
"Apellido",
LocalDate.of(1990, 1, 1),
"123456789",
"conductor@example.com",
"clave");
// Crear un usuario pasajero
Usuario pasajero = new Usuario(
"87654321B",
"Pasajero",
"Apellido",
LocalDate.of(1995, 5, 5),
"987654321",
"pasajero@example.com",
"clave");
// Crear un viaje
Viaje viaje = new Viaje(
12345,
"Origen",
"Destino",
LocalDateTime.of(2023, 9, 30, 8, 0),
2,
50.0);
viaje.setConductor(conductor);
// Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(conductor.getDni(), viaje);
// Enviar solicitud de viaje
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
// Aceptar al pasajero en el viaje
sistemaCarpooling.aceptarPasajero(viaje, pasajero);
// Verificar que el pasajero está en la lista de usuarios confirmados en el
// viaje
assertTrue(viaje.getusuariosConfirmados().contains(pasajero));
// Verificar que el pasajero ya no está en la lista de solicitantes del viaje
assertFalse(viaje.getUsuariosSolicitantes().contains(pasajero));
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment