Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Antonio Rueda
/
reserva-hoteles
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
eaa269dc
authored
Nov 27, 2024
by
Antonio Rueda
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Creación de hoteles y test correspondiente
parent
fb90ff21
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
75 additions
and
9 deletions
src/main/java/es/ujaen/dae/reservahoteles/rest/ControladorReservas.java
src/test/java/es/ujaen/dae/reservahoteles/rest/TestControladorReservas.java
src/main/java/es/ujaen/dae/reservahoteles/rest/ControladorReservas.java
View file @
eaa269dc
...
...
@@ -4,9 +4,11 @@ package es.ujaen.dae.reservahoteles.rest;
import
es.ujaen.dae.reservahoteles.entidades.Usuario
;
import
es.ujaen.dae.reservahoteles.excepciones.UsuarioNoRegistrado
;
import
es.ujaen.dae.reservahoteles.excepciones.UsuarioYaRegistrado
;
import
es.ujaen.dae.reservahoteles.rest.dto.DHotel
;
import
es.ujaen.dae.reservahoteles.rest.dto.DUsuario
;
import
es.ujaen.dae.reservahoteles.rest.dto.Mapeador
;
import
es.ujaen.dae.reservahoteles.servicios.ServicioReservas
;
import
jakarta.annotation.PostConstruct
;
import
jakarta.validation.ConstraintViolationException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
...
...
@@ -34,6 +36,13 @@ public class ControladorReservas {
@Autowired
ServicioReservas
servicioReservas
;
Usuario
direccion
;
@PostConstruct
void
loginDireccion
()
{
direccion
=
servicioReservas
.
login
(
"direccion@hotelxyz.es"
,
"SeCrEtO"
).
get
();
}
// Definir un mapeado global para cualquier excepción de validación de beans
@ResponseStatus
(
HttpStatus
.
UNPROCESSABLE_ENTITY
)
@ExceptionHandler
(
ConstraintViolationException
.
class
)
...
...
@@ -61,4 +70,11 @@ public class ControladorReservas {
return
ResponseEntity
.
status
(
HttpStatus
.
UNAUTHORIZED
).
build
();
}
}
@PostMapping
(
"/hoteles"
)
public
ResponseEntity
<
Void
>
nuevoHotel
(
@RequestBody
DHotel
hotel
)
{
servicioReservas
.
nuevoHotel
(
direccion
,
mapeador
.
entidad
(
hotel
));
return
ResponseEntity
.
status
(
HttpStatus
.
CREATED
).
build
();
}
}
src/test/java/es/ujaen/dae/reservahoteles/rest/TestControladorReservas.java
View file @
eaa269dc
package
es
.
ujaen
.
dae
.
reservahoteles
.
rest
;
import
es.ujaen.dae.reservahoteles.entidades.Hotel
;
import
es.ujaen.dae.reservahoteles.rest.dto.DHotel
;
import
es.ujaen.dae.reservahoteles.rest.dto.DUsuario
;
import
jakarta.annotation.PostConstruct
;
import
org.assertj.core.api.Assertions
;
import
java.util.List
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.web.client.TestRestTemplate
;
...
...
@@ -48,8 +51,22 @@ public class TestControladorReservas {
usuario
,
Void
.
class
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
UNPROCESSABLE_ENTITY
);
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
UNPROCESSABLE_ENTITY
);
var
usuario2
=
new
DUsuario
(
"Pedro"
,
"Jaén Jaén"
,
"611301114"
,
"pjaen@gmail.com"
,
"miClAvE"
);
respuesta
=
restTemplate
.
postForEntity
(
"/usuarios"
,
usuario2
,
Void
.
class
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
respuesta
=
restTemplate
.
postForEntity
(
"/usuarios"
,
usuario2
,
Void
.
class
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CONFLICT
);
}
@Test
...
...
@@ -61,7 +78,7 @@ public class TestControladorReservas {
usuario
,
Void
.
class
);
Assertions
.
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
var
respuestaLogin
=
restTemplate
.
getForEntity
(
"/usuarios/{email}?clave={clave}"
,
...
...
@@ -70,7 +87,7 @@ public class TestControladorReservas {
"miClAvE"
);
Assertions
.
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
UNAUTHORIZED
);
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
UNAUTHORIZED
);
respuestaLogin
=
restTemplate
.
getForEntity
(
"/usuarios/{email}?clave={clave}"
,
...
...
@@ -79,9 +96,8 @@ public class TestControladorReservas {
"xyx"
);
Assertions
.
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
UNAUTHORIZED
);
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
UNAUTHORIZED
);
respuestaLogin
=
restTemplate
.
getForEntity
(
"/usuarios/{email}?clave={clave}"
,
DUsuario
.
class
,
...
...
@@ -89,7 +105,41 @@ public class TestControladorReservas {
usuario
.
clave
()
);
Assertions
.
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
Assertions
.
assertThat
(
respuestaLogin
.
getBody
().
nombre
()).
isEqualTo
(
usuario
.
nombre
()
);
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
assertThat
(
respuestaLogin
.
getBody
()).
isEqualTo
(
usuario
);
}
@Test
@DirtiesContext
void
testBuscarHotel
()
{
var
hotel1
=
new
DHotel
(
0
,
"Gran Hotel Almería"
,
"Almería"
,
"Almería"
,
"04001"
,
25
,
50
,
100
,
180
);
var
hotel2
=
new
DHotel
(
0
,
"Hotel Infanta Cristina"
,
"Jaén"
,
"Jaén"
,
"23009"
,
30
,
60
,
120
,
200
);
var
respuestaLogin
=
restTemplate
.
getForEntity
(
"/usuarios/{email}?clave={clave}"
,
DUsuario
.
class
,
"direccion@hotelxyz.es"
,
"SeCrEtO"
);
assertThat
(
respuestaLogin
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
var
respuesta
=
restTemplate
.
postForEntity
(
"/hoteles"
,
hotel1
,
DHotel
.
class
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
respuesta
=
restTemplate
.
postForEntity
(
"/hoteles"
,
hotel2
,
DHotel
.
class
);
assertThat
(
respuesta
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
CREATED
);
// List<Hotel> hoteles = servicio.buscarHotel("gran hotel", " almeria");
// assertThat(hoteles).hasSize(1);
// assertThat(hoteles.get(0).id()).isEqualTo(1);
}
}
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