Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
María Hidalgo
/
carpooling-dae
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
cdf72f89
authored
Oct 06, 2023
by
María Hidalgo
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Errores quitados y funcionando
parent
63736694
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
160 additions
and
178 deletions
src/main/java/es/ujaen/dae/carpoolingdae/app/CarpoolingDaeApplication.java
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Reserva.java
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Usuario.java
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Viaje.java
src/main/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpooling.java
src/main/java/es/ujaen/dae/carpoolingdae/utils/CodificadorMd5.java
src/test/java/es/ujaen/dae/carpoolingdae/entidades/UsuarioTest.java
src/test/java/es/ujaen/dae/carpoolingdae/entidades/ViajeTest.java
src/test/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpoolingTest.java
src/main/java/es/ujaen/dae/carpoolingdae/app/CarpoolingDaeApplication.java
View file @
cdf72f89
...
@@ -4,15 +4,15 @@ import org.springframework.boot.SpringApplication;
...
@@ -4,15 +4,15 @@ import org.springframework.boot.SpringApplication;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
@SpringBootApplication
(
scanBasePackages
=
"es.ujaen.dae.carpooling.servicios"
)
@SpringBootApplication
(
scanBasePackages
=
"es.ujaen.dae.carpooling.servicios"
)
public
class
CarpoolingDaeApplication
{
public
class
CarpoolingDaeApplication
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// Creación de servidor
// Creación de servidor
SpringApplication
servidor
=
new
SpringApplication
(
CarpoolingDaeApplication
.
class
);
SpringApplication
servidor
=
new
SpringApplication
(
CarpoolingDaeApplication
.
class
);
ApplicationContext
context
=
servidor
.
run
(
args
);
ApplicationContext
context
=
servidor
.
run
(
args
);
//SpringApplication.run(CarpoolingDaeApplication.class, args);
//
SpringApplication.run(CarpoolingDaeApplication.class, args);
}
}
}
}
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Reserva.java
View file @
cdf72f89
package
es
.
ujaen
.
dae
.
carpoolingdae
.
entidades
;
package
es
.
ujaen
.
dae
.
carpoolingdae
.
entidades
;
/* import java.util.ArrayList;
/* import java.util.ArrayList;
import java.util.List; */
import java.util.List; */
...
@@ -9,9 +8,6 @@ import javax.persistence.GeneratedValue;
...
@@ -9,9 +8,6 @@ import javax.persistence.GeneratedValue;
import
javax.persistence.GenerationType
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
javax.persistence.Id
;
@Entity
@Entity
public
class
Reserva
{
public
class
Reserva
{
...
@@ -19,9 +15,8 @@ public class Reserva {
...
@@ -19,9 +15,8 @@ public class Reserva {
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
int
id
;
int
id
;
//@OneToMany
//
@OneToMany
// private List<Usuario> pasajerosConfirmados = new ArrayList<>();
// private List<Usuario> pasajerosConfirmados = new ArrayList<>();
// Constructor, getters y setters
// Constructor, getters y setters
}
}
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Usuario.java
View file @
cdf72f89
...
@@ -33,7 +33,7 @@ public class Usuario {
...
@@ -33,7 +33,7 @@ public class Usuario {
// Lista de viajes como conductor
// Lista de viajes como conductor
private
List
<
Viaje
>
viajesComoConductor
;
private
List
<
Viaje
>
viajesComoConductor
;
// Lista de viajes como pasajero
// Lista de viajes como pasajero
private
List
<
Viaje
>
viajesComoPasajero
;
private
List
<
Viaje
>
viajesComoPasajero
;
...
@@ -102,8 +102,7 @@ public class Usuario {
...
@@ -102,8 +102,7 @@ public class Usuario {
public
List
<
Viaje
>
getviajesComoConductor
()
{
public
List
<
Viaje
>
getviajesComoConductor
()
{
return
viajesComoConductor
;
return
viajesComoConductor
;
}
}
/**
/**
* Compara la clave con la del usuario, codificándola en Md5
* Compara la clave con la del usuario, codificándola en Md5
...
...
src/main/java/es/ujaen/dae/carpoolingdae/entidades/Viaje.java
View file @
cdf72f89
...
@@ -13,91 +13,91 @@ import javax.validation.constraints.Past;
...
@@ -13,91 +13,91 @@ import javax.validation.constraints.Past;
import
es.ujaen.dae.carpoolingdae.excepciones.PlazaNoDisponible
;
import
es.ujaen.dae.carpoolingdae.excepciones.PlazaNoDisponible
;
public
class
Viaje
{
// Lista de usuarios que solicitan unirse a un viaje
private
List
<
Usuario
>
usuariosSolicitantes
=
new
ArrayList
<>();
public
class
Viaje
{
// Lista de usuarios que son confirmados en un viaje
private
List
<
Usuario
>
usuariosConfirmados
=
new
ArrayList
<>();
//Lista de usuarios que solicitan unirse a un viaje
@ManyToOne
private
List
<
Usuario
>
usuariosSolicitantes
=
new
ArrayList
<>();
//Lista de usuarios que son confirmados en un viaje
private
List
<
Usuario
>
usuariosConfirmados
=
new
ArrayList
<>();
@ManyToOne
private
Usuario
conductor
;
private
Usuario
conductor
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Id
int
id
;
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
int
id
;
@NotBlank
@NotBlank
String
destino
;
String
destino
;
@NotBlank
@NotBlank
String
origen
;
String
origen
;
@Past
@Past
LocalDateTime
fecha_hora
;
LocalDateTime
fecha_hora
;
@NotBlank
@NotBlank
int
plazasDisponibles
;
int
plazasDisponibles
;
@NotBlank
@NotBlank
Double
precioAsiento
;
Double
precioAsiento
;
public
Viaje
(
int
id
,
String
destino
,
String
origen
,
LocalDateTime
fecha_hora
,
int
plazasDisponibles
,
Double
precioAsiento
){
public
Viaje
(
int
id
,
String
destino
,
String
origen
,
LocalDateTime
fecha_hora
,
int
plazasDisponibles
,
Double
precioAsiento
)
{
this
.
id
=
id
;
this
.
id
=
id
;
this
.
origen
=
origen
;
this
.
origen
=
origen
;
this
.
destino
=
destino
;
this
.
destino
=
destino
;
this
.
fecha_hora
=
fecha_hora
;
this
.
fecha_hora
=
fecha_hora
;
this
.
plazasDisponibles
=
plazasDisponibles
;
this
.
plazasDisponibles
=
plazasDisponibles
;
this
.
precioAsiento
=
precioAsiento
;
this
.
precioAsiento
=
precioAsiento
;
//reservas = new ArrayList<>();
//
reservas = new ArrayList<>();
}
}
public
int
getId
()
{
public
int
getId
(){
return
id
;
return
id
;
}
}
public
String
getDestino
()
{
public
String
getDestino
()
{
return
destino
;
return
destino
;
}
}
public
String
getOrigen
(){
public
String
getOrigen
()
{
return
origen
;
return
origen
;
}
}
public
LocalDateTime
getFecha_hora
(){
public
LocalDateTime
getFecha_hora
()
{
return
fecha_hora
;
return
fecha_hora
;
}
}
public
int
getPlazas
(){
public
int
getPlazas
()
{
return
plazasDisponibles
;
return
plazasDisponibles
;
}
}
public
Double
getPrecio
(){
public
Double
getPrecio
()
{
return
precioAsiento
;
return
precioAsiento
;
}
}
public
List
<
Usuario
>
getUsuariosSolicitantes
()
{
public
List
<
Usuario
>
getUsuariosSolicitantes
()
{
return
usuariosSolicitantes
;
return
usuariosSolicitantes
;
}
}
public
List
<
Usuario
>
getusuariosConfirmados
()
{
public
List
<
Usuario
>
getusuariosConfirmados
()
{
return
usuariosConfirmados
;
return
usuariosConfirmados
;
}
}
public
void
setConductor
(
Usuario
conductor
)
{
public
void
setConductor
(
Usuario
conductor
)
{
this
.
conductor
=
conductor
;
this
.
conductor
=
conductor
;
}
}
public
void
addPasajero
(
Usuario
pasajero
){
public
void
addPasajero
(
Usuario
pasajero
)
{
if
(
plazasDisponibles
>
0
)
{
if
(
plazasDisponibles
>
0
)
{
usuariosConfirmados
.
add
(
pasajero
);
usuariosConfirmados
.
add
(
pasajero
);
plazasDisponibles
--;
plazasDisponibles
--;
}
else
{
}
else
{
throw
new
PlazaNoDisponible
();
throw
new
PlazaNoDisponible
();
}
}
}
}
}
}
src/main/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpooling.java
View file @
cdf72f89
...
@@ -17,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
...
@@ -17,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
import
es.ujaen.dae.carpoolingdae.entidades.Usuario
;
import
es.ujaen.dae.carpoolingdae.entidades.Usuario
;
import
es.ujaen.dae.carpoolingdae.entidades.Viaje
;
import
es.ujaen.dae.carpoolingdae.entidades.Viaje
;
import
es.ujaen.dae.carpoolingdae.excepciones.PlazaNoDisponible
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioNoRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioNoRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioYaRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.UsuarioYaRegistrado
;
import
es.ujaen.dae.carpoolingdae.excepciones.ViajeNoExistente
;
import
es.ujaen.dae.carpoolingdae.excepciones.ViajeNoExistente
;
...
@@ -77,41 +78,46 @@ public class SistemaCarpooling {
...
@@ -77,41 +78,46 @@ public class SistemaCarpooling {
if
(
viaje
.
getOrigen
().
equals
(
origen
)
&&
viaje
.
getDestino
().
equals
(
destino
)
if
(
viaje
.
getOrigen
().
equals
(
origen
)
&&
viaje
.
getDestino
().
equals
(
destino
)
&&
viaje
.
getFecha_hora
().
toLocalDate
().
equals
(
fecha
))
{
&&
viaje
.
getFecha_hora
().
toLocalDate
().
equals
(
fecha
))
{
viajesEncontrados
.
add
(
viaje
);
viajesEncontrados
.
add
(
viaje
);
}
else
{
}
else
{
throw
new
ViajeNoExistente
();
throw
new
ViajeNoExistente
();
}
}
}
}
return
viajesEncontrados
;
return
viajesEncontrados
;
}
}
public
void
agregarViaje
(
@NotBlank
String
dni
,
@NotNull
@Valid
Viaje
viaje
)
{
public
void
agregarViaje
(
@NotBlank
String
dni
,
@NotNull
@Valid
Viaje
viaje
)
{
// Verificar si el usuario conductor existe en la base de datos
// Verificar si el usuario conductor existe en la base de datos
Usuario
conductor
=
usuarios
.
get
(
dni
);
Usuario
conductor
=
usuarios
.
get
(
dni
);
if
(
conductor
==
null
)
{
if
(
conductor
==
null
)
{
throw
new
UsuarioNoRegistrado
();
throw
new
UsuarioNoRegistrado
();
}
}
// Asignar el conductor al viaje
// Asignar el conductor al viaje
viaje
.
setConductor
(
conductor
);
viaje
.
setConductor
(
conductor
);
// Agregar el viaje a la lista de viajes del conductor (si es necesario)
// Agregar el viaje a la lista de viajes del conductor (si es necesario)
conductor
.
getviajesComoConductor
().
add
(
viaje
);
conductor
.
getviajesComoConductor
().
add
(
viaje
);
// Agregar el viaje al mapa de viajes
// Agregar el viaje al mapa de viajes
viajes
.
put
(
String
.
valueOf
(
viaje
.
getId
()),
viaje
);
viajes
.
put
(
String
.
valueOf
(
viaje
.
getId
()),
viaje
);
}
}
/**
/**
* Enviar solicitud para ser pasajero de un viaje
* Enviar solicitud para ser pasajero de un viaje
*
*
* @param viaje al que se envía la solicitud
* @param viaje al que se envía la solicitud
*/
*/
public
void
enviarSolicitudViaje
(
Viaje
viaje
,
Usuario
pasajero
)
{
public
void
enviarSolicitudViaje
(
Viaje
viaje
,
Usuario
pasajero
)
{
if
(
viaje
!=
null
&&
!
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
))
{
if
(
viaje
!=
null
&&
!
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
)
&&
viaje
.
getPlazas
()
>
0
)
{
// Envía la
// solicitud
// solo si
// hay
// plazas
// disponibles
viaje
.
getUsuariosSolicitantes
().
add
(
pasajero
);
// Agregar este usuario a la lista de solicitantes en el Viaje
viaje
.
getUsuariosSolicitantes
().
add
(
pasajero
);
// Agregar este usuario a la lista de solicitantes en el Viaje
}
else
{
throw
new
PlazaNoDisponible
();
}
}
}
}
...
@@ -123,12 +129,12 @@ public class SistemaCarpooling {
...
@@ -123,12 +129,12 @@ public class SistemaCarpooling {
*/
*/
public
void
aceptarPasajero
(
@NotNull
@Valid
Viaje
viaje
,
Usuario
pasajero
)
{
public
void
aceptarPasajero
(
@NotNull
@Valid
Viaje
viaje
,
Usuario
pasajero
)
{
if
(
viaje
!=
null
&&
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
)
&&
pasajero
.
getviajesComoConductor
().
contains
(
viaje
))
{
//AQUI EN VER QUE SOLO PUEDE ACEPTAR EL CONDUCTOR
if
(
viaje
!=
null
&&
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
)
&&
pasajero
.
getviajesComoConductor
().
contains
(
viaje
))
{
// SOLO PUEDE ACEPTAR EL
// CONDUCTOR
viaje
.
getUsuariosSolicitantes
().
remove
(
pasajero
);
viaje
.
getUsuariosSolicitantes
().
remove
(
pasajero
);
viaje
.
getusuariosConfirmados
().
add
(
pasajero
);
viaje
.
getusuariosConfirmados
().
add
(
pasajero
);
}
else
{
throw
new
IllegalArgumentException
(
"No se puede aceptar al pasajero."
);
}
}
}
}
}
}
\ No newline at end of file
src/main/java/es/ujaen/dae/carpoolingdae/utils/CodificadorMd5.java
View file @
cdf72f89
...
@@ -20,13 +20,12 @@ public class CodificadorMd5 {
...
@@ -20,13 +20,12 @@ public class CodificadorMd5 {
public
static
String
codificar
(
String
cadena
)
{
public
static
String
codificar
(
String
cadena
)
{
String
cadenaCodificada
=
null
;
String
cadenaCodificada
=
null
;
try
{
try
{
MessageDigest
md
=
MessageDigest
.
getInstance
(
"MD5"
);
MessageDigest
md
=
MessageDigest
.
getInstance
(
"MD5"
);
md
.
update
(
cadena
.
getBytes
());
md
.
update
(
cadena
.
getBytes
());
cadenaCodificada
=
Base64
.
getEncoder
().
withoutPadding
().
encodeToString
(
md
.
digest
());
cadenaCodificada
=
Base64
.
getEncoder
().
withoutPadding
().
encodeToString
(
md
.
digest
());
}
}
catch
(
NoSuchAlgorithmException
e
)
{
catch
(
NoSuchAlgorithmException
e
)
{
// No debe ocurrir puesto que MD5 es un algoritmo que existe en la
// No debe ocurrir puesto que MD5 es un algoritmo que existe en la
// implementación Java estándar
// implementación Java estándar
}
}
...
...
src/test/java/es/ujaen/dae/carpoolingdae/entidades/UsuarioTest.java
View file @
cdf72f89
package
es
.
ujaen
.
dae
.
carpoolingdae
.
entidades
;
package
es
.
ujaen
.
dae
.
carpoolingdae
.
entidades
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertFalse
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertTrue
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.Validation
;
import
javax.validation.Validation
;
...
@@ -38,23 +34,6 @@ public class UsuarioTest {
...
@@ -38,23 +34,6 @@ public class UsuarioTest {
Assertions
.
assertThat
(
violations
).
isEmpty
();
Assertions
.
assertThat
(
violations
).
isEmpty
();
}
}
@Test
public
void
testAceptarPasajero
()
{
Viaje
viaje
=
new
Viaje
(
1
,
"Destino"
,
"Origen"
,
LocalDateTime
.
of
(
2023
,
9
,
30
,
8
,
0
,
0
),
4
,
50.0
);
Usuario
pasajero
=
new
Usuario
(
"987654321"
,
"OtroNombre"
,
"OtroApellido"
,
LocalDate
.
of
(
1995
,
2
,
2
),
"987654321"
,
"otrocorreo@example.com"
,
"clave"
);
viaje
.
getusuariosSolicitantes
().
add
(
pasajero
);
pasajero
.
aceptarPasajero
(
viaje
,
pasajero
);
// Me aseguro de que el pasajero y el conductor no puedan ser la misma persona
assertFalse
(
viaje
.
usuariosSolicitantes
.
contains
(
pasajero
));
assertTrue
(
viaje
.
usuariosConfirmados
.
contains
(
pasajero
));
}
@Test
@Test
void
testComprobacionClave
()
{
void
testComprobacionClave
()
{
String
clave
=
"mariahm"
;
String
clave
=
"mariahm"
;
...
...
src/test/java/es/ujaen/dae/carpoolingdae/entidades/ViajeTest.java
0 → 100644
View file @
cdf72f89
package
es
.
ujaen
.
dae
.
carpoolingdae
.
entidades
;
import
java.util.List
;
import
org.assertj.core.api.Assertions
;
import
org.junit.jupiter.api.Test
;
public
class
ViajeTest
{
public
ViajeTest
()
{
}
private
Viaje
viaje
;
@Test
void
testAddPasajero
()
{
Usuario
pasajero
=
new
Usuario
();
// Crea una instancia de Reserva adecuada para el test
viaje
.
addPasajero
(
pasajero
);
List
<
Usuario
>
usuariosConfirmados
=
viaje
.
getusuariosConfirmados
();
Assertions
.
assertThat
(
1
).
isEqualTo
(
usuariosConfirmados
.
size
());
Assertions
.
assertThat
(
pasajero
).
isEqualTo
(
usuariosConfirmados
.
get
(
0
));
}
}
src/test/java/es/ujaen/dae/carpoolingdae/servicios/SistemaCarpoolingTest.java
View file @
cdf72f89
package
es
.
ujaen
.
dae
.
carpoolingdae
.
servicios
;
package
es
.
ujaen
.
dae
.
carpoolingdae
.
servicios
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertFalse
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertFalse
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertSame
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertTrue
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertTrue
;
import
static
org
.
mockito
.
Mockito
.
times
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
static
org
.
mockito
.
Mockito
.
when
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Optional
;
import
javax.validation.ConstraintViolationException
;
import
javax.validation.ConstraintViolationException
;
import
org.assertj.core.api.Assertions
;
import
org.assertj.core.api.Assertions
;
import
org.junit.jupiter.api.BeforeEach
;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.Test
;
import
org.mockito.Mock
;
import
org.mockito.MockitoAnnotations
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.annotation.DirtiesContext
;
import
org.springframework.test.annotation.DirtiesContext
;
...
@@ -32,18 +26,17 @@ import es.ujaen.dae.carpoolingdae.entidades.Viaje;
...
@@ -32,18 +26,17 @@ import es.ujaen.dae.carpoolingdae.entidades.Viaje;
//@Disabled
//@Disabled
@SpringBootTest
(
classes
=
es
.
ujaen
.
dae
.
carpoolingdae
.
app
.
CarpoolingDaeApplication
.
class
)
@SpringBootTest
(
classes
=
es
.
ujaen
.
dae
.
carpoolingdae
.
app
.
CarpoolingDaeApplication
.
class
)
@ActiveProfiles
(
profiles
=
{
"test"
})
@ActiveProfiles
(
profiles
=
{
"test"
})
public
class
SistemaCarpoolingTest
{
public
class
SistemaCarpoolingTest
{
@Autowired
@Autowired
SistemaCarpooling
sistemaCarpooling
;
SistemaCarpooling
sistemaCarpooling
;
//Accedemos al sistema
// Accedemos al sistema
@Test
@Test
public
void
testAccesoServicioHotel
()
{
public
void
testAccesoServicioHotel
()
{
Assertions
.
assertThat
(
sistemaCarpooling
).
isNotNull
();
Assertions
.
assertThat
(
sistemaCarpooling
).
isNotNull
();
}
}
@Test
@Test
public
void
testAccesoSistemaCarpooling
()
{
public
void
testAccesoSistemaCarpooling
()
{
...
@@ -53,7 +46,7 @@ public class SistemaCarpoolingTest {
...
@@ -53,7 +46,7 @@ public class SistemaCarpoolingTest {
@Test
@Test
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
public
void
testAltaUsuarioInvalido
()
{
public
void
testAltaUsuarioInvalido
()
{
String
clave
=
"mariahm"
;
String
clave
=
"mariahm"
;
Usuario
usuario
=
new
Usuario
(
Usuario
usuario
=
new
Usuario
(
"22334455H"
,
"22334455H"
,
"María"
,
"María"
,
...
@@ -68,7 +61,7 @@ public class SistemaCarpoolingTest {
...
@@ -68,7 +61,7 @@ public class SistemaCarpoolingTest {
}).
isInstanceOf
(
ConstraintViolationException
.
class
);
}).
isInstanceOf
(
ConstraintViolationException
.
class
);
}
}
//Damos de alta el usuario
//
Damos de alta el usuario
@Test
@Test
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
...
@@ -90,7 +83,6 @@ public class SistemaCarpoolingTest {
...
@@ -90,7 +83,6 @@ public class SistemaCarpoolingTest {
Assertions
.
assertThat
(
usuarioLogin
.
get
()).
isEqualTo
(
usuario
);
Assertions
.
assertThat
(
usuarioLogin
.
get
()).
isEqualTo
(
usuario
);
}
}
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
public
void
testAgregarViaje
()
{
public
void
testAgregarViaje
()
{
// Crear un objeto Viaje válido
// Crear un objeto Viaje válido
...
@@ -102,7 +94,7 @@ public class SistemaCarpoolingTest {
...
@@ -102,7 +94,7 @@ public class SistemaCarpoolingTest {
2
,
2
,
50.0
);
50.0
);
String
clave
=
"mariahm"
;
String
clave
=
"mariahm"
;
Usuario
usuario
=
new
Usuario
(
Usuario
usuario
=
new
Usuario
(
"22334455H"
,
"22334455H"
,
"María"
,
"María"
,
...
@@ -125,7 +117,7 @@ public class SistemaCarpoolingTest {
...
@@ -125,7 +117,7 @@ public class SistemaCarpoolingTest {
// Verificar que se encuentren los viajes esperados
// Verificar que se encuentren los viajes esperados
Assertions
.
assertThat
(
viajesEncontrados
).
contains
(
nuevoViaje
);
Assertions
.
assertThat
(
viajesEncontrados
).
contains
(
nuevoViaje
);
}
}
@Test
@Test
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
...
@@ -144,7 +136,6 @@ public class SistemaCarpoolingTest {
...
@@ -144,7 +136,6 @@ public class SistemaCarpoolingTest {
String
destinoBusqueda
=
"Destino"
;
String
destinoBusqueda
=
"Destino"
;
LocalDate
fechaBusqueda
=
LocalDate
.
of
(
2023
,
9
,
30
);
LocalDate
fechaBusqueda
=
LocalDate
.
of
(
2023
,
9
,
30
);
Viaje
viaje2
=
new
Viaje
(
Viaje
viaje2
=
new
Viaje
(
54321
,
// ID del viaje
54321
,
// ID del viaje
"Origen2"
,
"Origen2"
,
...
@@ -159,17 +150,13 @@ public class SistemaCarpoolingTest {
...
@@ -159,17 +150,13 @@ public class SistemaCarpoolingTest {
LocalDate
fechaBusqueda2
=
LocalDate
.
of
(
2023
,
9
,
30
);
LocalDate
fechaBusqueda2
=
LocalDate
.
of
(
2023
,
9
,
30
);
List
<
Viaje
>
viajesEncontrados
=
sistemaCarpooling
.
buscarViajes
(
origenBusqueda
,
destinoBusqueda
,
fechaBusqueda
);
List
<
Viaje
>
viajesEncontrados
=
sistemaCarpooling
.
buscarViajes
(
origenBusqueda
,
destinoBusqueda
,
fechaBusqueda
);
//List<Viaje> viajesEncontrados = sistemaCarpooling.buscarViajes(origenBusqueda2, destinoBusqueda2, fechaBusqueda2);
// Verificar que se encuentren los viajes esperados
// Verificar que se encuentren los viajes esperados
Assertions
.
assertThat
(
viajesEncontrados
).
containsExactly
(
viaje
);
Assertions
.
assertThat
(
viajesEncontrados
).
containsExactly
(
viaje
);
Assertions
.
assertThat
(
viajesEncontrados
).
containsExactly
(
viaje2
);
Assertions
.
assertThat
(
viajesEncontrados
).
containsExactly
(
viaje2
);
}
}
@Test
@Test
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
public
void
testEnviarSolicitudViaje
()
{
public
void
testEnviarSolicitudViaje
()
{
...
@@ -192,82 +179,73 @@ public class SistemaCarpoolingTest {
...
@@ -192,82 +179,73 @@ public class SistemaCarpoolingTest {
"987654321"
,
"987654321"
,
"pasajero@example.com"
,
"pasajero@example.com"
,
"clave"
);
"clave"
);
// Crear un viaje
// Crear un viaje
Viaje
viaje
=
new
Viaje
(
Viaje
viaje
=
new
Viaje
(
12345
,
12345
,
"Origen"
,
"Origen"
,
"Destino"
,
"Destino"
,
LocalDateTime
.
of
(
2023
,
9
,
30
,
8
,
0
),
LocalDateTime
.
of
(
2023
,
9
,
30
,
8
,
0
),
2
,
2
,
50.0
);
50.0
);
viaje
.
setConductor
(
conductor
);
viaje
.
setConductor
(
conductor
);
// Agregar el viaje al sistema
sistemaCarpooling
.
agregarViaje
(
conductor
.
getDni
(),
viaje
);
// Enviar solicitud de viaje
sistemaCarpooling
.
enviarSolicitudViaje
(
viaje
,
pasajero
);
// Verificar que el pasajero está en la lista de solicitantes del viaje
assertTrue
(
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
));
}
@Test
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
public
void
testAceptarPasajero
()
{
// Crear un usuario conductor
Usuario
conductor
=
new
Usuario
(
"12345678A"
,
"Conductor"
,
"Apellido"
,
LocalDate
.
of
(
1990
,
1
,
1
),
"123456789"
,
"conductor@example.com"
,
"clave"
);
// Crear un usuario pasajero
Usuario
pasajero
=
new
Usuario
(
"87654321B"
,
"Pasajero"
,
"Apellido"
,
LocalDate
.
of
(
1995
,
5
,
5
),
"987654321"
,
"pasajero@example.com"
,
"clave"
);
// Crear un viaje
Viaje
viaje
=
new
Viaje
(
12345
,
"Origen"
,
"Destino"
,
LocalDateTime
.
of
(
2023
,
9
,
30
,
8
,
0
),
2
,
50.0
);
viaje
.
setConductor
(
conductor
);
// Agregar el viaje al sistema
sistemaCarpooling
.
agregarViaje
(
conductor
.
getDni
(),
viaje
);
// Enviar solicitud de viaje
sistemaCarpooling
.
enviarSolicitudViaje
(
viaje
,
pasajero
);
// Aceptar al pasajero en el viaje
sistemaCarpooling
.
aceptarPasajero
(
viaje
,
pasajero
);
// Verificar que el pasajero está en la lista de usuarios confirmados en el viaje
assertTrue
(
viaje
.
getusuariosConfirmados
().
contains
(
pasajero
));
// Verificar que el pasajero ya no está en la lista de solicitantes del viaje
assertFalse
(
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
));
}
// Agregar el viaje al sistema
sistemaCarpooling
.
agregarViaje
(
conductor
.
getDni
(),
viaje
);
// Enviar solicitud de viaje
sistemaCarpooling
.
enviarSolicitudViaje
(
viaje
,
pasajero
);
// Verificar que el pasajero está en la lista de solicitantes del viaje
assertTrue
(
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
));
}
@Test
@DirtiesContext
(
methodMode
=
MethodMode
.
AFTER_METHOD
)
public
void
testAceptarPasajero
()
{
// Crear un usuario conductor
Usuario
conductor
=
new
Usuario
(
"12345678A"
,
"Conductor"
,
"Apellido"
,
LocalDate
.
of
(
1990
,
1
,
1
),
"123456789"
,
"conductor@example.com"
,
"clave"
);
// Crear un usuario pasajero
Usuario
pasajero
=
new
Usuario
(
"87654321B"
,
"Pasajero"
,
"Apellido"
,
LocalDate
.
of
(
1995
,
5
,
5
),
"987654321"
,
"pasajero@example.com"
,
"clave"
);
// Crear un viaje
Viaje
viaje
=
new
Viaje
(
12345
,
"Origen"
,
"Destino"
,
LocalDateTime
.
of
(
2023
,
9
,
30
,
8
,
0
),
2
,
50.0
);
viaje
.
setConductor
(
conductor
);
// Agregar el viaje al sistema
sistemaCarpooling
.
agregarViaje
(
conductor
.
getDni
(),
viaje
);
// Enviar solicitud de viaje
sistemaCarpooling
.
enviarSolicitudViaje
(
viaje
,
pasajero
);
// Aceptar al pasajero en el viaje
sistemaCarpooling
.
aceptarPasajero
(
viaje
,
pasajero
);
// Verificar que el pasajero está en la lista de usuarios confirmados en el
// viaje
assertTrue
(
viaje
.
getusuariosConfirmados
().
contains
(
pasajero
));
// Verificar que el pasajero ya no está en la lista de solicitantes del viaje
assertFalse
(
viaje
.
getUsuariosSolicitantes
().
contains
(
pasajero
));
}
}
}
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