Commit 0c6bc35c by Rubén Ramírez

feat: [TestServicioUsuarios]: Testeada la nueva función para actualizar los datos de la cuenta

parent bec60661
......@@ -16,7 +16,8 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;import java.util.Base64;
@SpringBootTest(classes = {MangAffinityApplication.class, JpaTestConfig.class})
@ActiveProfiles("test")
......@@ -229,5 +230,47 @@ public class TestServicioUsuarios {
assertThat(claims.get("nombreUsuario")).isEqualTo("NombreModificado");
}
@Test
@DirtiesContext
void testActualizarPerfil_Completo() {
// Crear y registrar un usuario
Usuario usuario = new Usuario("perfil@test.com", "PerfilUser", "clave123");
servicioUsuarios.crearUsuario(usuario);
Usuario guardado = servicioUsuarios.buscaUsuario("perfil@test.com");
// actualizar descripción y foto
String nuevaDescripcion = "Nueva descripción de prueba";
String imagenBase64 = Base64.getEncoder().encodeToString("imagen de prueba".getBytes());
servicioUsuarios.actualizarPerfil(guardado.getId(), nuevaDescripcion, imagenBase64);
Usuario actualizado = servicioUsuarios.buscaUsuario(guardado.getId());
assertThat(actualizado.getDescripcion()).isEqualTo(nuevaDescripcion);
assertThat(actualizado.getFotoPerfil()).isNotNull();
assertThat(new String(actualizado.getFotoPerfil())).isEqualTo("imagen de prueba");
// actualizar solo descripción (fotoBase64 null)
String nuevaDescripcion2 = "Solo cambia descripción";
servicioUsuarios.actualizarPerfil(guardado.getId(), nuevaDescripcion2, null);
Usuario actualizado2 = servicioUsuarios.buscaUsuario(guardado.getId());
assertThat(actualizado2.getDescripcion()).isEqualTo(nuevaDescripcion2);
assertThat(actualizado2.getFotoPerfil()).isNotNull(); // conserva la anterior
// actualizar con foto vacía (no cambia foto)
String imagenVacia = " "; // string en blanco
servicioUsuarios.actualizarPerfil(guardado.getId(), "Descripción sin cambio de imagen", imagenVacia);
Usuario actualizado3 = servicioUsuarios.buscaUsuario(guardado.getId());
assertThat(actualizado3.getDescripcion()).isEqualTo("Descripción sin cambio de imagen");
assertThat(actualizado3.getFotoPerfil()).isNotNull(); // imagen original sigue presente
// usuario no existente
Long idInexistente = 999L;
assertThatThrownBy(() ->
servicioUsuarios.actualizarPerfil(idInexistente, "desc", imagenBase64)
).isInstanceOf(UsuarioNoExiste.class);
}
}
\ 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