RF09: Usuario actualiza nombre
Descripción
Como usuario autenticado, quiero actualizar mi nombre para corregir o mantener al día mis datos (derecho de rectificación, autoservicio en la app — Compliance §3 Calidad).
| Campo | Valor |
|---|---|
| Módulo | Auth Module |
| Actor | Usuario autenticado |
| Endpoint | PATCH /auth/profile |
| Precondiciones | Sesión activa |
| Prioridad | Baja (MVP) |
| Etapa | MVP |
| Requisitos relacionados | RF10, RF01 |
Reglas de negocio
- RN-09.1 — El cambio aplica de inmediato sin reautenticación (dato no sensible).
- RN-09.2 — El nombre se valida con las mismas reglas del registro.
Validaciones de entrada
| Campo | Reglas | Mensaje de error |
|---|---|---|
firstName | Obligatorio. 2–50 caracteres. Solo letras (incl. acentos), espacios, guion y apóstrofo. | "Ingresa un nombre válido." |
Se sanitiza la entrada y se usan consultas parametrizadas; no se aceptan inyecciones SQL ni etiquetas/HTML.
Criterios de aceptación
Escenario 1: Actualización exitosa
Dado que ingreso un nombre válido distinto del actual,
Cuando guardo el cambio,
Entonces el sistema actualiza mi nombre y responde 200 OK,
Y la app refleja el nuevo nombre.
Escenario 2: Nombre inválido
Dado que ingreso un nombre vacío, demasiado largo o con números/símbolos no permitidos,
Cuando intento guardar,
Entonces el sistema responde 400 con "Ingresa un nombre válido".
Escenario 3: Entrada maliciosa (seguridad)
Dado que ingreso una cadena con HTML o intento de inyección SQL, Cuando el backend la procesa, Entonces la entrada se rechaza/sanitiza y no se ejecuta código, Y no se altera ningún otro dato.
Criterios no funcionales
- Respuesta < 500 ms.
- Comunicación sobre TLS 1.2+.