Commit 0f3ac0d6 by Antonio Rueda

Modificado el test para verificar que la dirección puede ver todas

las reservas del hotel
parent 5fbba8ae
......@@ -177,7 +177,7 @@ public class ControladorReservas {
Hotel hotel = servicioReservas.buscarHotel(idHotel).orElseThrow(HotelNoRegistrado::new);
var esDireccion = servicioCredencialesUsuario.loadUserByUsername(usuarioAutenticado.getName())
.getAuthorities().stream().anyMatch(a -> a.getAuthority().equals("DIRECCION"));
.getAuthorities().stream().anyMatch(a -> a.getAuthority().equals("ROLE_DIRECCION"));
if (esDireccion)
reservas = servicioReservas.verReservas(hotel, desdeFinal, hastaFinal);
......
......@@ -237,13 +237,20 @@ public class TestControladorReservas {
DHotel.class
);
var usuario = new DUsuario("Pedro", "Jaén Jaén", "611203025", "pjaen@gmail.com", "miClAvE");
var usuario1 = new DUsuario("Pedro", "Jaén Jaén", "611203025", "pjaen@gmail.com", "miClAvE");
restTemplate.postForEntity(
"/usuarios",
usuario,
usuario1,
Void.class
);
var usuario2 = new DUsuario("Juan", "Almería Almería", "665182838", "jalmeria@gmail.com", "miClAvE2");
restTemplate.postForEntity(
"/usuarios",
usuario2,
Void.class
);
var hotelGuardado = restTemplate.getForEntity(
"/hoteles?nombre={nombre}&localidad={localidad}",
DHotel[].class,
......@@ -254,23 +261,46 @@ public class TestControladorReservas {
var reserva = new DReserva(0,
LocalDate.now().plusDays(7),
LocalDate.now().plusDays(10), 0, 1,
usuario.email());
usuario1.email());
restTemplate.withBasicAuth(usuario.email(), usuario.clave()).postForEntity(
restTemplate.withBasicAuth(usuario1.email(), usuario1.clave()).postForEntity(
"/hoteles/{id}/reservas",
reserva,
DReserva.class,
hotelGuardado.id()
);
);
var reserva2 = new DReserva(0,
LocalDate.now().plusDays(9),
LocalDate.now().plusDays(114), 1, 1,
usuario2.email());
var respuestaConsultaReservas = restTemplate.withBasicAuth(usuario.email(), usuario.clave()).getForEntity(
restTemplate.withBasicAuth(usuario2.email(), usuario2.clave()).postForEntity(
"/hoteles/{id}/reservas",
reserva2,
DReserva.class,
hotelGuardado.id()
);
// Comprobar que un usuario puede acceder sólo a su reserva
var respuestaConsultaUsuario = restTemplate.withBasicAuth(usuario1.email(), usuario1.clave()).getForEntity(
"/hoteles/{id}/reservas",
DReserva[].class,
hotelGuardado.id()
);
assertThat(respuestaConsultaUsuario.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaConsultaUsuario.getBody()).hasSize(1);
assertThat(respuestaConsultaUsuario.getBody()[0].emailUsuario()).isEqualTo(usuario1.email());
// Comprobar que el administrador puede acceder a todas las reservas
var respuestaConsultaDireccion = restTemplate.withBasicAuth("direccion@hotelxyz.es", "SeCrEtO").getForEntity(
"/hoteles/{id}/reservas",
DReserva[].class,
hotelGuardado.id()
);
assertThat(respuestaConsultaReservas.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaConsultaReservas.getBody()).hasSize(1);
assertThat(respuestaConsultaReservas.getBody()[0].numHabDoble()).isEqualTo(1);
assertThat(respuestaConsultaDireccion.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(respuestaConsultaDireccion.getBody()).hasSize(2);
}
}
\ No newline at end of file
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