Commit 3b82c56b by María Hidalgo

Modifando tests hasta error lazy

parent 78dbe318
package es.ujaen.dae.carpoolingdae.servicios; package es.ujaen.dae.carpoolingdae.servicios;
import jakarta.transaction.Transactional;
import jakarta.validation.Valid; import jakarta.validation.Valid;
//import javax.validation.Valid; //import javax.validation.Valid;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
...@@ -121,6 +122,8 @@ public class SistemaCarpooling { ...@@ -121,6 +122,8 @@ public class SistemaCarpooling {
* *
* @param viaje al que se envía la solicitud * @param viaje al que se envía la solicitud
*/ */
//@Transactional
public void enviarSolicitudViaje(@NotNull Viaje viaje, @NotNull Usuario pasajero) { public void enviarSolicitudViaje(@NotNull Viaje viaje, @NotNull Usuario pasajero) {
// Llamar a la función en viaje para enviar la solicitud // Llamar a la función en viaje para enviar la solicitud
viaje.enviarSolicitudParaSerPasajero(viaje, pasajero); viaje.enviarSolicitudParaSerPasajero(viaje, pasajero);
...@@ -140,6 +143,7 @@ public class SistemaCarpooling { ...@@ -140,6 +143,7 @@ public class SistemaCarpooling {
* @param viaje el viaje del que se obtendrán las solicitudes * @param viaje el viaje del que se obtendrán las solicitudes
* @return lista de solicitudes pendientes del viaje * @return lista de solicitudes pendientes del viaje
*/ */
@Transactional
public List<Usuario> obtenerSolicitudesPendientes(@NotNull Viaje viaje) { public List<Usuario> obtenerSolicitudesPendientes(@NotNull Viaje viaje) {
// Verificar que el viaje esté en estado PENDIENTE // Verificar que el viaje esté en estado PENDIENTE
if (viaje.getEstado() != EstadoViaje.PENDIENTE) { if (viaje.getEstado() != EstadoViaje.PENDIENTE) {
...@@ -158,7 +162,7 @@ public class SistemaCarpooling { ...@@ -158,7 +162,7 @@ public class SistemaCarpooling {
*/ */
public List<Usuario> obtenerPasajeros(@NotNull Viaje viaje) { public List<Usuario> obtenerPasajeros(@NotNull Viaje viaje) {
//Podemos ver los pasajeros antes y después del viaje //Podemos ver los pasajeros antes y después del viaje
if (viaje.getEstado() != EstadoViaje.PENDIENTE || viaje.getEstado() != EstadoViaje.REALIZADO) { if (viaje.getEstado() != EstadoViaje.PENDIENTE && viaje.getEstado() != EstadoViaje.REALIZADO) {
throw new ViajeCancelado(); throw new ViajeCancelado();
} }
......
...@@ -104,6 +104,9 @@ public class SistemaCarpoolingTest { ...@@ -104,6 +104,9 @@ public class SistemaCarpoolingTest {
"mhm@red.ujaen.es", "mhm@red.ujaen.es",
clave); clave);
sistemaCarpooling.altaUsuario(usuario);
sistemaCarpooling.loginUsuario(usuario.getDni(), "mariahm");
// Agregar el viaje al sistema // Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(usuario, viaje); sistemaCarpooling.agregarViaje(usuario, viaje);
...@@ -148,20 +151,46 @@ public class SistemaCarpoolingTest { ...@@ -148,20 +151,46 @@ public class SistemaCarpoolingTest {
"+34600999889", "+34600999889",
"pasajero@example.com", "pasajero@example.com",
"clave"); "clave");
// Crear un viaje
Viaje viaje = new Viaje(
"Origen", sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero);
sistemaCarpooling.loginUsuario(conductor.getDni(), "clave");
// Crear un objeto Viaje válido
Viaje viaje = new Viaje(
// ID del viaje
"Destino", "Destino",
"Origen",
LocalDateTime.of(2023, 9, 30, 8, 0), LocalDateTime.of(2023, 9, 30, 8, 0),
2, 2,
50.0); 50.0);
sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero); // Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(conductor, viaje); sistemaCarpooling.agregarViaje(conductor, viaje);
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
assertTrue(viaje.usuariosSolicitantes.contains(pasajero)); // el viaje paraver si ha sido añadido
String origenBusqueda = "Origen";
String destinoBusqueda = "Destino";
LocalDateTime fechaBusqueda = LocalDateTime.of(2023, 9, 30, 8, 0);
List<Viaje> viajesEncontrados = sistemaCarpooling.buscarViajes(origenBusqueda, destinoBusqueda,
fechaBusqueda);
Viaje viajeEnc = viajesEncontrados.get(0);
Assertions.assertThat(viajeEnc.getDestino()).isEqualTo(viaje.getDestino());
Assertions.assertThat(viajeEnc.getOrigen()).isEqualTo(viaje.getOrigen());
Assertions.assertThat(viajeEnc.getfechaHora()).isEqualTo(viaje.getfechaHora());
Assertions.assertThat(viajeEnc.getPlazasDisponibles()).isEqualTo(viaje.getPlazasDisponibles());
Assertions.assertThat(viajeEnc.getPrecioAsiento()).isEqualTo(viaje.getPrecioAsiento());
sistemaCarpooling.loginUsuario(pasajero.getDni(), "clave");
sistemaCarpooling.enviarSolicitudViaje(viajeEnc, pasajero);
// Obtener solicitudes pendientes del viaje
List<Usuario> solicitudesPendientes = sistemaCarpooling.obtenerSolicitudesPendientes(viaje);
// Comprobar que el pasajero está en la lista de solicitudes pendientes
assertTrue(solicitudesPendientes.contains(pasajero));
} }
...@@ -186,6 +215,12 @@ public class SistemaCarpoolingTest { ...@@ -186,6 +215,12 @@ public class SistemaCarpoolingTest {
"+34600999889", "+34600999889",
"pasajero@example.com", "pasajero@example.com",
"clave"); "clave");
sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero);
// Login antes de agregar el viaje
sistemaCarpooling.loginUsuario(conductor.getDni(), "clave");
// Crear un viaje // Crear un viaje
Viaje viaje = new Viaje( Viaje viaje = new Viaje(
...@@ -195,9 +230,9 @@ public class SistemaCarpoolingTest { ...@@ -195,9 +230,9 @@ public class SistemaCarpoolingTest {
2, 2,
50.0); 50.0);
sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero);
sistemaCarpooling.agregarViaje(conductor, viaje); sistemaCarpooling.agregarViaje(conductor, viaje);
// Login antes de enviar solicitud
sistemaCarpooling.loginUsuario(pasajero.getDni(), "clave");
viaje.setEstado(EstadoViaje.PENDIENTE); viaje.setEstado(EstadoViaje.PENDIENTE);
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero); sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
sistemaCarpooling.aceptarPasajeroViaje(viaje, pasajero, conductor); sistemaCarpooling.aceptarPasajeroViaje(viaje, pasajero, conductor);
......
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