Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alvaro Ordóñez Romero
/
DAE-aha00026-aor00039
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
6b1282c5
authored
Nov 16, 2023
by
Álvaro Herrera Arjonilla
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Introducimos cambios en los tests para depurar la práctica
parent
86a7eeeb
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
32 additions
and
402 deletions
pom.xml
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
src/main/java/com/carpooling/carpoolingaoraha/repositorios/UsuarioRepository.java
src/main/resources/application-test.properties
src/main/resources/ehcache.xml
src/test/java/com/carpooling/carpoolingaoraha/CarPoolingAorAhaApplicationTests.java
src/test/java/com/carpooling/carpoolingaoraha/entidades/ReservaTest.java
src/test/java/com/carpooling/carpoolingaoraha/entidades/SistemaCarPoolingTest.java
src/test/java/com/carpooling/carpoolingaoraha/entidades/UsuarioTest.java
src/test/java/com/carpooling/carpoolingaoraha/entidades/ViajeTest.java
src/test/java/com/carpooling/carpoolingaoraha/repositorios/ReservaRepositoryTest.java
src/test/java/com/carpooling/carpoolingaoraha/repositorios/UsuarioRepositoryTest.java
src/test/java/com/carpooling/carpoolingaoraha/repositorios/ViajeRepositoryTest.java
pom.xml
View file @
6b1282c5
...
...
@@ -63,6 +63,16 @@
<artifactId>
jakarta.validation-api
</artifactId>
<version>
2.0.2
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-cache
</artifactId>
</dependency>
<dependency>
<groupId>
org.ehcache
</groupId>
<artifactId>
ehcache
</artifactId>
<version>
3.10.8
</version>
</dependency>
</dependencies>
...
...
src/main/java/com/carpooling/carpoolingaoraha/entidades/Usuario.java
View file @
6b1282c5
...
...
@@ -14,7 +14,6 @@ import javax.validation.constraints.Pattern;
import
javax.validation.constraints.Size
;
import
java.util.*
;
import
static
com
.
carpooling
.
carpoolingaoraha
.
entidades
.
Rol
.*;
enum
Rol
{
CONDUCTOR
,
PASAJERO
,
AMBOS
...
...
@@ -23,6 +22,9 @@ enum Rol {
@Table
(
name
=
"usuarios"
)
public
class
Usuario
{
public
enum
Rol
{
CONDUCTOR
,
PASAJERO
,
AMBOS
}
@Transient
private
SistemaCarPooling
sistemaCarPooling
;
...
...
@@ -276,7 +278,7 @@ public class Usuario {
}
public
boolean
solicitarViaje
(
int
idReserva
,
Rol
rol
)
{
if
(
rol
==
PASAJERO
||
rol
==
AMBOS
)
{
if
(
rol
==
Rol
.
PASAJERO
||
rol
==
Rol
.
AMBOS
)
{
for
(
Reserva
reserva
:
sistemaCarPooling
.
getReservas
())
{
if
(
idReserva
==
reserva
.
getIdReserva
()
&&
!
reserva
.
getReservaConcluida
())
{
// Verificar si ya hay una solicitud pendiente para esta reserva
...
...
src/main/java/com/carpooling/carpoolingaoraha/repositorios/UsuarioRepository.java
View file @
6b1282c5
...
...
@@ -6,6 +6,7 @@ import com.carpooling.carpoolingaoraha.entidades.Usuario;
import
com.carpooling.carpoolingaoraha.entidades.Viaje
;
import
jakarta.persistence.EntityManager
;
import
jakarta.persistence.PersistenceContext
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
...
...
src/main/resources/application-test.properties
deleted
100644 → 0
View file @
86a7eeeb
# Configuración de la base de datos para pruebas en MySQL
spring.datasource.url
=
jdbc:mysql://localhost:3306/aha00026aor00039
spring.datasource.username
=
root
spring.datasource.password
=
root
spring.datasource.driverClassName
=
com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto
=
create-drop
# Otros ajustes de configuración específicos para pruebas
# ...
src/main/resources/ehcache.xml
0 → 100644
View file @
6b1282c5
<?xml version="1.0" encoding="UTF-8"?>
<ehcache
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://ehcache.org/ehcache.xsd"
>
<cache
name=
"clientes"
maxElementsInMemory=
"100"
eternal=
"false"
overflowToDisk=
"false"
/>
<cache
name=
"claves"
maxElementsInMemory=
"100"
eternal=
"false"
timeToIdleSeconds=
"600"
timeToLiveSeconds=
"600"
overflowToDisk=
"false"
/>
</ehcache>
src/test/java/com/carpooling/carpoolingaoraha/CarPoolingAorAhaApplicationTests.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
@SpringBootTest
class
CarPoolingAorAhaApplicationTests
{
@Test
void
contextLoads
()
{
}
}
src/test/java/com/carpooling/carpoolingaoraha/entidades/ReservaTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
java.util.ArrayList
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
import
java.util.Date
;
import
org.junit.Before
;
import
org.junit.jupiter.api.Test
;
public
class
ReservaTest
{
private
Reserva
reserva
;
private
Usuario
conductor
;
@Before
public
void
setUp
()
{
conductor
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
new
Date
(),
"12345678A"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Rol
.
CONDUCTOR
);
reserva
=
new
Reserva
(
conductor
,
"Origen"
,
"Destino"
,
new
Date
(),
3
,
20
);
}
@Test
public
void
testAnadirPasajeros
()
{
setUp
();
reserva
.
anadirPasajeros
(
"87654321B"
,
reserva
.
getIdReserva
());
ArrayList
<
String
>
pasajeros
=
reserva
.
getPasajeros
();
assertTrue
(
pasajeros
.
contains
(
"87654321B"
));
}
@Test
public
void
testEsViajero
()
{
setUp
();
reserva
.
anadirPasajeros
(
"87654321B"
,
reserva
.
getIdReserva
());
assertTrue
(
reserva
.
esViajero
(
"87654321B"
));
assertFalse
(
reserva
.
esViajero
(
"99999999C"
));
}
}
src/test/java/com/carpooling/carpoolingaoraha/entidades/SistemaCarPoolingTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
static
org
.
junit
.
Assert
.*;
public
class
SistemaCarPoolingTest
{
private
SistemaCarPooling
sistema
;
@Before
public
void
setUp
()
{
sistema
=
new
SistemaCarPooling
();
}
@Test
public
void
testAddViaje
()
throws
ParseException
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
fecha
=
dateFormat
.
parse
(
"2023-10-07"
);
Viaje
viaje
=
new
Viaje
(
"Origen"
,
"Destino"
,
fecha
,
3
,
10
,
5
);
sistema
.
addViaje
(
viaje
);
assertTrue
(
sistema
.
getViajes
().
contains
(
viaje
));
}
@Test
public
void
testAddReserva
()
throws
ParseException
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
fecha
=
dateFormat
.
parse
(
"2023-10-07"
);
Usuario
usuario
=
new
Usuario
(
"usuario"
,
"usuario"
,
fecha
,
"78162640S"
,
957634276
,
"aor00039@red.ujaen.es"
,
"12345"
,
Rol
.
CONDUCTOR
);
Reserva
reserva
=
new
Reserva
(
usuario
,
"origen"
,
"destino"
,
fecha
,
3
,
10
);
sistema
.
addReserva
(
reserva
);
assertTrue
(
sistema
.
getReservas
().
contains
(
reserva
));
}
@Test
public
void
testLoginSuccess
()
throws
ParseException
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
fecha
=
dateFormat
.
parse
(
"2023-10-07"
);
Usuario
usuario
=
new
Usuario
(
"usuario"
,
"usuario"
,
fecha
,
"78162640S"
,
957634276
,
"aor00039@red.ujaen.es"
,
"12345"
,
Rol
.
CONDUCTOR
);
sistema
.
getUsuarios
().
add
(
usuario
);
assertTrue
(
sistema
.
login
(
"aor00039@red.ujaen.es"
,
"12345"
));
}
@Test
public
void
testLoginFailure
()
{
assertFalse
(
sistema
.
login
(
"usuario2"
,
"claveincorrecta"
));
}
@Test
public
void
testGetNombre
()
{
assertEquals
(
"Blablacar"
,
sistema
.
getNombre
());
}
@Test
public
void
testSetNombre
()
{
sistema
.
setNombre
(
"NuevoNombre"
);
assertEquals
(
"NuevoNombre"
,
sistema
.
getNombre
());
}
@Test
public
void
testGetUsuarios
()
{
assertNotNull
(
sistema
.
getUsuarios
());
}
@Test
public
void
testGetViajes
()
{
assertNotNull
(
sistema
.
getViajes
());
}
@Test
public
void
testGetReservas
()
{
assertNotNull
(
sistema
.
getReservas
());
}
}
src/test/java/com/carpooling/carpoolingaoraha/entidades/UsuarioTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
import
org.junit.jupiter.api.Test
;
public
class
UsuarioTest
{
@Test
public
void
testCambiarRol
()
{
Usuario
usuario
=
new
Usuario
(
"Nombre"
,
"Apellidos"
,
new
Date
(),
"12345678A"
,
123456789
,
"correo@example.com"
,
"clave"
,
Rol
.
CONDUCTOR
);
assertEquals
(
Rol
.
CONDUCTOR
,
usuario
.
getRol
());
usuario
.
cambiarRol
();
assertEquals
(
Rol
.
PASAJERO
,
usuario
.
getRol
());
usuario
.
cambiarRol
();
assertEquals
(
Rol
.
CONDUCTOR
,
usuario
.
getRol
());
}
@Test
public
void
testOfrecerViaje
()
{
Usuario
conductor
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
new
Date
(),
"12345678A"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Rol
.
CONDUCTOR
);
Usuario
pasajero
=
new
Usuario
(
"Pasajero"
,
"ApellidoPasajero"
,
new
Date
(),
"87654321B"
,
987654321
,
"pasajero@example.com"
,
"clave"
,
Rol
.
PASAJERO
);
assertTrue
(
conductor
.
ofrecerViaje
(
"Origen"
,
"Destino"
,
new
Date
(),
3
,
20
));
assertFalse
(
pasajero
.
ofrecerViaje
(
"Origen"
,
"Destino"
,
new
Date
(),
2
,
15
));
}
@Test
public
void
testAsignarPuntuacion
()
{
Usuario
conductor
=
new
Usuario
(
"Conductor"
,
"ApellidoConductor"
,
new
Date
(),
"12345678A"
,
123456789
,
"conductor@example.com"
,
"clave"
,
Rol
.
CONDUCTOR
);
Usuario
pasajero
=
new
Usuario
(
"Pasajero"
,
"ApellidoPasajero"
,
new
Date
(),
"87654321B"
,
987654321
,
"pasajero@example.com"
,
"clave"
,
Rol
.
PASAJERO
);
assertTrue
(
conductor
.
asignarPuntuacion
(
1
,
"87654321B"
,
4
));
assertTrue
(
pasajero
.
asignarPuntuacion
(
1
,
"12345678A"
,
4
));
}
@Test
public
void
testBuscarViaje
()
{
// Inicializar un usuario de ejemplo
Usuario
usuario
=
new
Usuario
(
"Nombre"
,
"Apellidos"
,
new
Date
(),
"123456789"
,
123456789
,
"usuario@example.com"
,
"clave"
,
Rol
.
PASAJERO
);
// Inicializar la lista de viajes con datos de ejemplo
List
<
Viaje
>
todosLosViajes
=
new
ArrayList
<>();
Viaje
viaje1
=
new
Viaje
(
"Origen1"
,
"Destino1"
,
new
Date
(),
3
,
20
,
5
);
Viaje
viaje2
=
new
Viaje
(
"Origen2"
,
"Destino2"
,
new
Date
(),
2
,
15
,
5
);
Viaje
viaje3
=
new
Viaje
(
"Origen3"
,
"Destino3"
,
new
Date
(),
1
,
10
,
5
);
todosLosViajes
.
add
(
viaje1
);
todosLosViajes
.
add
(
viaje2
);
todosLosViajes
.
add
(
viaje3
);
// Ejecutar la función buscarViaje con datos de ejemplo
List
<
Viaje
>
viajesDisponibles
=
usuario
.
buscarViaje
(
"Origen1"
,
"Destino1"
,
new
Date
(),
Rol
.
PASAJERO
,
todosLosViajes
);
// Verificar que la lista de viajes disponibles no esté vacía
assertEquals
(
1
,
viajesDisponibles
.
size
());
// Verificar que el viaje encontrado coincida con los criterios de búsqueda
Viaje
viajeEncontrado
=
viajesDisponibles
.
get
(
0
);
assertEquals
(
"Origen1"
,
viajeEncontrado
.
getOrigen
());
assertEquals
(
"Destino1"
,
viajeEncontrado
.
getDestino
());
}
}
src/test/java/com/carpooling/carpoolingaoraha/entidades/ViajeTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
entidades
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.util.Date
;
import
static
org
.
junit
.
Assert
.*;
public
class
ViajeTest
{
private
Viaje
viaje
;
@Before
public
void
testConstructor
()
{
viaje
=
new
Viaje
(
"Origen"
,
"Destino"
,
new
Date
(),
3
,
20
,
5
);
}
@Test
public
void
testGetOrigen
()
{
assertEquals
(
"Origen"
,
viaje
.
getOrigen
());
}
@Test
public
void
testSetOrigen
()
{
viaje
.
setOrigen
(
"NuevoOrigen"
);
assertEquals
(
"NuevoOrigen"
,
viaje
.
getOrigen
());
}
@Test
public
void
testGetDestino
()
{
assertEquals
(
"Destino"
,
viaje
.
getDestino
());
}
@Test
public
void
testSetDestino
()
{
viaje
.
setDestino
(
"NuevoDestino"
);
assertEquals
(
"NuevoDestino"
,
viaje
.
getDestino
());
}
@Test
public
void
testGetFechaSalida
()
{
assertNotNull
(
viaje
.
getFechaSalida
());
}
@Test
public
void
testSetFechaSalida
()
{
Date
nuevaFecha
=
new
Date
();
viaje
.
setFechaSalida
(
nuevaFecha
);
assertEquals
(
nuevaFecha
,
viaje
.
getFechaSalida
());
}
@Test
public
void
testGetnAsientos
()
{
assertEquals
(
3
,
viaje
.
getnAsientos
());
}
@Test
public
void
testSetnAsientos
()
{
viaje
.
setnAsientos
(
4
);
assertEquals
(
4
,
viaje
.
getnAsientos
());
}
@Test
public
void
testGetPrecioAsiento
()
{
assertEquals
(
20
,
viaje
.
getPrecioAsiento
());
}
@Test
public
void
testSetPrecioAsiento
()
{
viaje
.
setPrecioAsiento
(
25
);
assertEquals
(
25
,
viaje
.
getPrecioAsiento
());
}
}
src/test/java/com/carpooling/carpoolingaoraha/repositorios/ReservaRepositoryTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
repositorios
;
import
com.carpooling.carpoolingaoraha.entidades.Reserva
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase
;
import
org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.transaction.annotation.Propagation
;
@RunWith
(
SpringRunner
.
class
)
@DataJpaTest
@AutoConfigureTestDatabase
(
replace
=
AutoConfigureTestDatabase
.
Replace
.
NONE
)
public
class
ReservaRepositoryTest
{
@Autowired
private
ReservaRepository
repositorio
;
@Test
@Transactional
(
propagation
=
Propagation
.
NOT_SUPPORTED
)
public
void
testInsertReserva
(){
Reserva
reserva
=
new
Reserva
();
reserva
.
setNumPasajeros
(
2
);
reserva
.
setIdReserva
(
1
);
repositorio
.
save
(
reserva
);
Reserva
reservaGuardada
=
repositorio
.
findByIdReserva
(
1
);
Assert
.
assertNotNull
(
reservaGuardada
);
Assert
.
assertEquals
(
2
,
reservaGuardada
.
getNumPasajeros
());
Assert
.
assertEquals
(
1
,
reservaGuardada
.
getIdReserva
());
}
}
src/test/java/com/carpooling/carpoolingaoraha/repositorios/UsuarioRepositoryTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
repositorios
;
import
com.carpooling.carpoolingaoraha.entidades.Usuario
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase
;
import
org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Optional
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
@RunWith
(
SpringRunner
.
class
)
@DataJpaTest
@AutoConfigureTestDatabase
(
replace
=
AutoConfigureTestDatabase
.
Replace
.
NONE
)
public
class
UsuarioRepositoryTest
{
@Autowired
private
UsuarioRepository
repositorio
;
@Test
@Transactional
(
propagation
=
Propagation
.
NOT_SUPPORTED
)
public
void
testInsertUsuario
(){
Usuario
usuario
=
new
Usuario
();
usuario
.
setNombre
(
"Fran"
);
usuario
.
setDNI
(
"45678900E"
);
repositorio
.
guardar
(
usuario
);
Optional
<
Usuario
>
usuarioGuardado
=
repositorio
.
buscar
(
"45678900E"
);
Assert
.
assertNotNull
(
usuarioGuardado
);
Assert
.
assertEquals
(
"Fran"
,
usuarioGuardado
.
get
().
getNombre
());
Assert
.
assertEquals
(
"45678900E"
,
usuarioGuardado
.
get
().
getDNI
());
}
}
src/test/java/com/carpooling/carpoolingaoraha/repositorios/ViajeRepositoryTest.java
deleted
100644 → 0
View file @
86a7eeeb
package
com
.
carpooling
.
carpoolingaoraha
.
repositorios
;
import
com.carpooling.carpoolingaoraha.entidades.Usuario
;
import
com.carpooling.carpoolingaoraha.entidades.Viaje
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase
;
import
org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Optional
;
@RunWith
(
SpringRunner
.
class
)
@DataJpaTest
@AutoConfigureTestDatabase
(
replace
=
AutoConfigureTestDatabase
.
Replace
.
NONE
)
public
class
ViajeRepositoryTest
{
@Autowired
private
ViajeRepository
repository
;
@Test
@Transactional
(
propagation
=
Propagation
.
NOT_SUPPORTED
)
public
void
testInsertViaje
(){
Viaje
viaje
=
new
Viaje
();
viaje
.
setDestino
(
"Canarias"
);
int
idViaje
=
1
;
viaje
.
setIdViaje
(
idViaje
);
repository
.
guardar
(
viaje
);
Optional
<
Viaje
>
viajeGuardado
=
repository
.
buscar
(
String
.
valueOf
(
idViaje
));
Assert
.
assertNotNull
(
viajeGuardado
);
Assert
.
assertEquals
(
idViaje
,
viajeGuardado
.
get
().
getIdViaje
());
Assert
.
assertEquals
(
"Canarias"
,
viajeGuardado
.
get
().
getDestino
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment