Changes by Álvaro Ordoñez colabora en el anterior commit

parent 92a14157
...@@ -27,8 +27,8 @@ public class UsuarioRepository { ...@@ -27,8 +27,8 @@ public class UsuarioRepository {
@Cacheable("usuarios") @Cacheable("usuarios")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
public Optional<Usuario> buscar(String DNI){ public Optional<Usuario> buscar(String dni){
return Optional.ofNullable(em.find(Usuario.class, DNI)); return Optional.ofNullable(em.find(Usuario.class, dni));
} }
@Cacheable("usuarios") @Cacheable("usuarios")
......
...@@ -12,6 +12,9 @@ import org.springframework.http.ResponseEntity; ...@@ -12,6 +12,9 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.ConstraintViolationException; import javax.validation.ConstraintViolationException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -53,39 +56,29 @@ public class ControladorREST { ...@@ -53,39 +56,29 @@ public class ControladorREST {
/** /**
* ver usuarios * ver usuarios
*/ */
@GetMapping("/usuarios/{dni}") @GetMapping("/usuarios/mostrarUsuario/{dni}")
ResponseEntity<DTOUsuario> verUsuario(@PathVariable String DNI){ ResponseEntity<DTOUsuario> verUsuario(@PathVariable String dni){
Optional<Usuario> usuario = servicioCarPooling.verUsuario(DNI); Optional<Usuario> usuario = servicioCarPooling.verUsuario(dni);
return usuario.map(c -> ResponseEntity.ok(new DTOUsuario(c))).orElse(ResponseEntity.notFound().build()); return usuario.map(c -> ResponseEntity.ok(new DTOUsuario(c))).orElse(ResponseEntity.notFound().build());
} }
/** /**
* Actualización de clientes * Actualización de clientes
*/ */
@PostMapping("/usuarios/modificar/{dni}") @PutMapping("/usuarios/modificar/{dni}")
ResponseEntity<DTOUsuario> actualizarCliente(@PathVariable String dni, @RequestBody Usuario clienteActualizado) { ResponseEntity<DTOUsuario> actualizarCliente(
@PathVariable String dni,
@RequestBody String nombre
) {
Optional<Usuario> usuarioExistente = servicioCarPooling.verUsuario(dni); Optional<Usuario> usuarioExistente = servicioCarPooling.verUsuario(dni);
return usuarioExistente.map(usuario -> { return usuarioExistente.map(usuario -> {
// Actualizar los datos del cliente existente con los nuevos datos proporcionados usuario.setNombre(nombre);
usuario.setNombre(clienteActualizado.getNombre());
usuario.setApellidos(clienteActualizado.getApellidos());
usuario.setFNac(clienteActualizado.getFNac());
usuario.setDNI(clienteActualizado.getDNI());
usuario.setRol(clienteActualizado.getRol());
usuario.setTelefono(clienteActualizado.getTelefono());
usuario.setClaveAcceso(clienteActualizado.getClaveAcceso());
usuario.setPuntuacion(clienteActualizado.getPuntuacion());
usuario.setViajesOfertados(clienteActualizado.getViajesOfertados());
usuario.setSolicitudesPendientes(clienteActualizado.getSolicitudesPendientes());
usuario.setHistoricoSolicitudes(clienteActualizado.getHistoricoSolicitudes());
usuario.setPuntuacionMedia(clienteActualizado.getPuntuacionMedia());
usuario.setSistemaCarPooling(clienteActualizado.getSistemaCarPooling());
servicioCarPooling.modificarDatosUsuario(usuario); servicioCarPooling.modificarDatosUsuario(usuario);
return ResponseEntity.ok(new DTOUsuario(usuario)); return ResponseEntity.ok(new DTOUsuario(usuario));
}).orElse(ResponseEntity.notFound().build()); }).orElse(ResponseEntity.notFound().build());
} }
/** /**
* Eliminación de clientes * Eliminación de clientes
*/ */
......
...@@ -4,6 +4,7 @@ import com.carpooling.carpoolingaoraha.entidades.*; ...@@ -4,6 +4,7 @@ import com.carpooling.carpoolingaoraha.entidades.*;
import com.carpooling.carpoolingaoraha.rest.dto.DTOReserva; import com.carpooling.carpoolingaoraha.rest.dto.DTOReserva;
import com.carpooling.carpoolingaoraha.rest.dto.DTOSolicitud; import com.carpooling.carpoolingaoraha.rest.dto.DTOSolicitud;
import com.carpooling.carpoolingaoraha.rest.dto.DTOUsuario; import com.carpooling.carpoolingaoraha.rest.dto.DTOUsuario;
import org.springframework.http.HttpHeaders;
import java.time.LocalDate; import java.time.LocalDate;
import com.carpooling.carpoolingaoraha.rest.dto.DTOViaje; import com.carpooling.carpoolingaoraha.rest.dto.DTOViaje;
...@@ -17,16 +18,18 @@ import org.springframework.boot.test.web.client.TestRestTemplate; ...@@ -17,16 +18,18 @@ 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.core.ParameterizedTypeReference;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod; 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;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import org.springframework.http.MediaType;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import static org.junit.Assert.*; import static org.junit.Assert.*;
......
...@@ -51,14 +51,13 @@ public class ServicioCarPoolingTest ...@@ -51,14 +51,13 @@ public class ServicioCarPoolingTest
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SistemaCarPooling sis = new SistemaCarPooling(); SistemaCarPooling sis = new SistemaCarPooling();
java.util.Date yourDate = sdf.parse("1992-07-26"); java.util.Date yourDate = sdf.parse("1992-07-26");
Usuario usuario = new Usuario("Perico", "Alonso", yourDate, sb.toString(), 670988953, "aor00039@red.ujaen.es", "hola", Rol.PASAJERO, sis); Usuario usuario = new Usuario("Perico", "Alonso", yourDate, "78162640S", 670988953, "aor00039@red.ujaen.es", "hola", Rol.PASAJERO, sis);
Usuario usuarioGuardado = servicio.altaCliente(usuario); Usuario usuarioGuardado = servicio.altaCliente(usuario);
assertNotNull(usuarioGuardado); assertNotNull(usuarioGuardado);
// Validar propiedades específicas del usuario guardado // Validar propiedades específicas del usuario guardado
assertEquals("Perico", usuarioGuardado.getNombre()); assertEquals("Perico", usuarioGuardado.getNombre());
assertEquals("Alonso", usuarioGuardado.getApellidos()); assertEquals("Alonso", usuarioGuardado.getApellidos());
assertEquals(sb.toString(), usuarioGuardado.getDNI());
assertEquals(670988953, usuarioGuardado.getTelefono()); assertEquals(670988953, usuarioGuardado.getTelefono());
assertEquals("aor00039@red.ujaen.es", usuarioGuardado.getEmail()); assertEquals("aor00039@red.ujaen.es", usuarioGuardado.getEmail());
assertEquals("hola", usuarioGuardado.getClaveAcceso()); assertEquals("hola", usuarioGuardado.getClaveAcceso());
......
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