Commit 9b5c8e30 by María Hidalgo

errores corregidos

parent 3b82c56b
......@@ -2,7 +2,6 @@ package es.ujaen.dae.carpoolingdae.servicios;
import jakarta.transaction.Transactional;
import jakarta.validation.Valid;
//import javax.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
......@@ -47,12 +46,12 @@ public class SistemaCarpooling {
*/
public Usuario altaUsuario(@NotNull @Valid Usuario usuario)throws UsuarioNoRegistrado{
//log.info("Usuario con datos: " + usuario + "registrandose");
if (repositorioUsuarios.buscar(usuario.getDni()).isPresent()){
throw new UsuarioYaRegistrado();
}else{
repositorioUsuarios.guardar(usuario);
//log.info("Usuario con datos: " + usuario + "registrado");
return usuario;
}
}
......@@ -143,7 +142,7 @@ public class SistemaCarpooling {
* @param viaje el viaje del que se obtendrán las solicitudes
* @return lista de solicitudes pendientes del viaje
*/
@Transactional
//@Transactional
public List<Usuario> obtenerSolicitudesPendientes(@NotNull Viaje viaje) {
// Verificar que el viaje esté en estado PENDIENTE
if (viaje.getEstado() != EstadoViaje.PENDIENTE) {
......@@ -160,6 +159,7 @@ public class SistemaCarpooling {
* @param viaje el viaje del que se obtendrán los pasajeros
* @return lista de pasajeros confirmados del viaje
*/
//@Transactional
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) {
......
......@@ -15,6 +15,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import jakarta.transaction.Transactional;
import jakarta.validation.ConstraintViolationException;
import org.assertj.core.api.Assertions;
......@@ -129,6 +130,7 @@ public class SistemaCarpoolingTest {
}
@Transactional
@Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testEnviarSolicitudViaje() {
......@@ -193,7 +195,7 @@ public class SistemaCarpoolingTest {
assertTrue(solicitudesPendientes.contains(pasajero));
}
//@Transactional
@Test
public void testAceptarPasajeroViaje() {
// Crear un usuario conductor
......@@ -224,19 +226,44 @@ public class SistemaCarpoolingTest {
// Crear un viaje
Viaje viaje = new Viaje(
"Origen",
"Destino",
"Origen",
LocalDateTime.of(2023, 9, 30, 8, 0),
2,
50.0);
sistemaCarpooling.agregarViaje(conductor, viaje);
// 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());
// Login antes de enviar solicitud
sistemaCarpooling.loginUsuario(pasajero.getDni(), "clave");
viaje.setEstado(EstadoViaje.PENDIENTE);
sistemaCarpooling.enviarSolicitudViaje(viaje, 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));
sistemaCarpooling.aceptarPasajeroViaje(viaje, pasajero, conductor);
// Obtener pasajeros del viaje
List<Usuario> pasajerosViaje = sistemaCarpooling.obtenerPasajeros(viaje);
// Comprobar que el pasajero coincide con el introducido
assertTrue(pasajerosViaje.contains(pasajero));
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