Implementamos más métodos al Servicio y sus respectivos tests. Además, incluimos…

Implementamos más métodos al Servicio y sus respectivos tests. Además, incluimos un pdf con el resumen de esta iteración 2.
parent 3749a356
No preview for this file type
......@@ -73,6 +73,11 @@
<artifactId>ehcache</artifactId>
<version>3.10.8</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
</dependencies>
......
......@@ -10,7 +10,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.TypedQuery;
import java.util.List;
import java.util.Optional;
@Repository
......@@ -34,4 +35,11 @@ public class ViajeRepository{
public void actualizar(Viaje u){
em.merge(u);
}
@Cacheable("viajes")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
public List<Viaje> obtenerTodosLosViajes() {
return em.createQuery("SELECT v FROM Viaje v", Viaje.class).getResultList();
}
}
......@@ -14,6 +14,7 @@ import javax.validation.ConstraintViolationException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.Random;
......@@ -237,4 +238,77 @@ public class ServicioCarPoolingTest
assertEquals(Optional.of(nuevaPuntuacion), usuarioExistente.getPuntuacion().get(0));
assertEquals(1, usuarioExistente.getPuntuacion().size());
}
@Test
public void testUnirseAReserva()throws ParseException {
// Crear un usuario y una reserva para las pruebas
int length = 9;
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
int randomIndex = random.nextInt(characters.length());
char randomChar = characters.charAt(randomIndex);
sb.append(randomChar);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SistemaCarPooling sis = new SistemaCarPooling();
java.util.Date yourDate = sdf.parse("1992-07-26");
Usuario usuario = new Usuario("Perico", "Alonso", yourDate, sb.toString(), 670988953, "aor00039@red.ujaen.es", "hola", Usuario.Rol.PASAJERO, new SistemaCarPooling());
servicio.altaCliente(usuario);
int idReserva = 1;
Reserva reserva = servicio.crearReserva(usuario.getDNI());
// Prueba de unirse a la reserva
assertTrue(servicio.unirseAReserva(usuario.getDNI(), idReserva));
}
@Test
public void testDarseDeBaja() throws ParseException{
// Datos de prueba
int length = 9;
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
// Inicializar el generador de números aleatorios
Random random = new Random();
StringBuilder sb = new StringBuilder(length);
// Generar la cadena aleatoria
for (int i = 0; i < length; i++) {
int randomIndex = random.nextInt(characters.length());
char randomChar = characters.charAt(randomIndex);
sb.append(randomChar);
}
// Crear un usuario
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date yourDate = sdf.parse("1992-07-26");
Usuario usuario = new Usuario("Perico", "Alonso", yourDate, sb.toString(), 670988953, "aor00039@red.ujaen.es", "hola", Rol.PASAJERO, new SistemaCarPooling());
servicio.altaCliente(usuario);
// Ejecutar el método que se va a probar
assertDoesNotThrow(() -> servicio.darseDeBaja(usuario.getDNI()));
// Intentar buscar al usuario eliminado debería devolver un Optional vacío
Optional<Usuario> usuarioEliminado = servicio.verUsuario(usuario.getDNI());
assertTrue(usuarioEliminado.isEmpty());
}
@Test
public void testListarViajes() {
Viaje viajePrueba = new Viaje("Origen", "Destino", new Date(), 3, 20, 28764);
servicio.altaViaje(viajePrueba);
List<Viaje> viajes = servicio.listarViajes();
assertNotNull(viajes);
assertTrue(viajes.size() > 0);
}
}
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