Commit 3b82c56b by María Hidalgo

Modifando tests hasta error lazy

parent 78dbe318
package es.ujaen.dae.carpoolingdae.servicios;
import jakarta.transaction.Transactional;
import jakarta.validation.Valid;
//import javax.validation.Valid;
import jakarta.validation.constraints.NotBlank;
......@@ -121,6 +122,8 @@ public class SistemaCarpooling {
*
* @param viaje al que se envía la solicitud
*/
//@Transactional
public void enviarSolicitudViaje(@NotNull Viaje viaje, @NotNull Usuario pasajero) {
// Llamar a la función en viaje para enviar la solicitud
viaje.enviarSolicitudParaSerPasajero(viaje, pasajero);
......@@ -140,6 +143,7 @@ public class SistemaCarpooling {
* @param viaje el viaje del que se obtendrán las solicitudes
* @return lista de solicitudes pendientes del viaje
*/
@Transactional
public List<Usuario> obtenerSolicitudesPendientes(@NotNull Viaje viaje) {
// Verificar que el viaje esté en estado PENDIENTE
if (viaje.getEstado() != EstadoViaje.PENDIENTE) {
......@@ -158,7 +162,7 @@ public class SistemaCarpooling {
*/
public List<Usuario> obtenerPasajeros(@NotNull Viaje 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();
}
......
......@@ -104,6 +104,9 @@ public class SistemaCarpoolingTest {
"mhm@red.ujaen.es",
clave);
sistemaCarpooling.altaUsuario(usuario);
sistemaCarpooling.loginUsuario(usuario.getDni(), "mariahm");
// Agregar el viaje al sistema
sistemaCarpooling.agregarViaje(usuario, viaje);
......@@ -148,21 +151,47 @@ public class SistemaCarpoolingTest {
"+34600999889",
"pasajero@example.com",
"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",
"Origen",
LocalDateTime.of(2023, 9, 30, 8, 0),
2,
50.0);
sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero);
// Agregar el viaje al sistema
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));
}
@Test
......@@ -186,6 +215,12 @@ public class SistemaCarpoolingTest {
"+34600999889",
"pasajero@example.com",
"clave");
sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero);
// Login antes de agregar el viaje
sistemaCarpooling.loginUsuario(conductor.getDni(), "clave");
// Crear un viaje
Viaje viaje = new Viaje(
......@@ -195,13 +230,13 @@ public class SistemaCarpoolingTest {
2,
50.0);
sistemaCarpooling.altaUsuario(conductor);
sistemaCarpooling.altaUsuario(pasajero);
sistemaCarpooling.agregarViaje(conductor, viaje);
// Login antes de enviar solicitud
sistemaCarpooling.loginUsuario(pasajero.getDni(), "clave");
viaje.setEstado(EstadoViaje.PENDIENTE);
sistemaCarpooling.enviarSolicitudViaje(viaje, pasajero);
sistemaCarpooling.aceptarPasajeroViaje(viaje, pasajero, conductor);
assertTrue(viaje.usuariosConfirmados.contains(pasajero));
assertEquals(EstadoViaje.PENDIENTE, viaje.getEstado());
}
......
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