Adición de test para el apartado de Usuario y Viaje en el ControladorREST

parent afa7ba1f
...@@ -51,7 +51,7 @@ public class ControladorREST { ...@@ -51,7 +51,7 @@ public class ControladorREST {
} }
/** /**
* Listar usuarios * ver usuarios
*/ */
@GetMapping("/usuarios/{dni}") @GetMapping("/usuarios/{dni}")
ResponseEntity<DTOUsuario> verUsuario(@PathVariable String DNI){ ResponseEntity<DTOUsuario> verUsuario(@PathVariable String DNI){
...@@ -62,7 +62,7 @@ public class ControladorREST { ...@@ -62,7 +62,7 @@ public class ControladorREST {
/** /**
* Actualización de clientes * Actualización de clientes
*/ */
@PutMapping("/usuarios/modificar/{dni}") @PostMapping("/usuarios/modificar/{dni}")
ResponseEntity<DTOUsuario> actualizarCliente(@PathVariable String dni, @RequestBody Usuario clienteActualizado) { ResponseEntity<DTOUsuario> actualizarCliente(@PathVariable String dni, @RequestBody Usuario clienteActualizado) {
Optional<Usuario> usuarioExistente = servicioCarPooling.verUsuario(dni); Optional<Usuario> usuarioExistente = servicioCarPooling.verUsuario(dni);
return usuarioExistente.map(usuario -> { return usuarioExistente.map(usuario -> {
......
...@@ -3,8 +3,12 @@ package com.carpooling.carpoolingaoraha.ControladorRESTEST; ...@@ -3,8 +3,12 @@ package com.carpooling.carpoolingaoraha.ControladorRESTEST;
import com.carpooling.carpoolingaoraha.entidades.SistemaCarPooling; import com.carpooling.carpoolingaoraha.entidades.SistemaCarPooling;
import com.carpooling.carpoolingaoraha.entidades.Solicitud; import com.carpooling.carpoolingaoraha.entidades.Solicitud;
import com.carpooling.carpoolingaoraha.entidades.Usuario; import com.carpooling.carpoolingaoraha.entidades.Usuario;
import com.carpooling.carpoolingaoraha.entidades.Viaje;
import com.carpooling.carpoolingaoraha.rest.dto.DTOUsuario; import com.carpooling.carpoolingaoraha.rest.dto.DTOUsuario;
import java.time.LocalDate; import java.time.LocalDate;
import com.carpooling.carpoolingaoraha.rest.dto.DTOViaje;
import com.carpooling.carpoolingaoraha.services.ServicioCarPooling;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.assertj.core.api.Assertions; import org.assertj.core.api.Assertions;
...@@ -13,6 +17,8 @@ import org.springframework.boot.test.context.SpringBootTest; ...@@ -13,6 +17,8 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
...@@ -23,7 +29,7 @@ import java.util.ArrayList; ...@@ -23,7 +29,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static org.junit.Assert.*;
@SpringBootTest(classes = com.carpooling.carpoolingaoraha.CarPoolingAorAhaApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(classes = com.carpooling.carpoolingaoraha.CarPoolingAorAhaApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
...@@ -57,5 +63,111 @@ public class ControladorRESTTEST { ...@@ -57,5 +63,111 @@ public class ControladorRESTTEST {
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.CREATED); Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.CREATED);
} }
@Test
void mostrarUsuario() {
// Datos de prueba
String dni = "78162640S";
// Realizar la solicitud GET
ResponseEntity<DTOUsuario> respuesta = restTemplate.getForEntity("/usuarios/", DTOUsuario.class, dni);
//No lo encuentra porque no existe ese DNI en la BBDD
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
public void testActualizarClienteExistente() {
// Datos de prueba
String dni = "78162640S";
// Realizar la solicitud POST para actualizar el cliente existente
ResponseEntity<DTOUsuario> respuesta = restTemplate.postForEntity
(
"/usuarios/modificar/", dni, DTOUsuario.class
);
// Verificar que la respuesta sea mala, ya que no existe ese usuario en la bbdd
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
public void testEliminarUsuario(){
// Datos de prueba
String dni = "78162640S";
// Realizar la solicitud DELETE para eliminar el usuario
restTemplate.delete("/usuarios/borrarUsuario/{dni}", dni);
ResponseEntity<DTOUsuario> respuesta = restTemplate.getForEntity("/usuarios/", DTOUsuario.class, dni);
// Verificar que la respuesta sea un error 404 Not Found
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
public void testAltaViaje() {
// Datos de prueba
Date fecha = new Date(2024, 12, 1);
DTOViaje viaje = new DTOViaje("Origen", "destino", fecha, 4, 10, 938763); // Inicializa el objeto Viaje con datos de prueba
// Realizar la solicitud POST para crear un nuevo viaje
ResponseEntity<DTOViaje> respuesta = restTemplate.postForEntity("/viajes", viaje, DTOViaje.class);
// Verificar que la respuesta sea un código 201 Created
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.CREATED);
}
@Test
void testVerViajePorId() {
// Datos de prueba
int idViaje = 1; // Debes adaptar esto según tus datos de prueba
// Realizar la solicitud GET para obtener un viaje por su ID
ResponseEntity<Viaje> respuesta = restTemplate.getForEntity("/viajes/", Viaje.class, idViaje);
// Verificar que la respuesta sea un código 404 Not Found
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
public void testActualizarViajeExistente() {
int idViaje = 847132468;
// Realizar la solicitud POST para actualizar el cliente existente
ResponseEntity<DTOViaje> respuesta = restTemplate.postForEntity
(
"/viajes/actualizarViaje/", idViaje, DTOViaje.class
);
// Verificar que la respuesta sea mala, ya que no existe ese usuario en la bbdd
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
public void testEliminarViajeExistente() {
// Datos de prueba
int idViaje = 1; // Debes adaptar esto según tus datos de prueba
// Realizar la solicitud DELETE para eliminar un viaje existente
restTemplate.delete("/viajes/eliminarViaje/{id}", idViaje);
ResponseEntity<Viaje> respuestaDespuesDeEliminar = restTemplate.getForEntity("/viajes/", Viaje.class, idViaje);
// Verificar que la respuesta sea un código 404 Not Found
Assertions.assertThat(respuestaDespuesDeEliminar.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
}
@Test
public void testListarTodosLosViajes() {
// Realizar la solicitud GET para obtener todos los viajes
ResponseEntity<List<Viaje>> respuesta = restTemplate.exchange(
"/viajes/todosLosViajes",
HttpMethod.GET,
null,
new ParameterizedTypeReference<List<Viaje>>() {
}
);
// Verificar que la respuesta sea un código 200 OK
Assertions.assertThat(respuesta.getStatusCode()).isEqualTo(HttpStatus.OK);
}
} }
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