# Smoke Cierre Legajos (Operativo) — 2026-05-19

## Objetivo

Validar en UI real que la implementación técnica de M23–M26 está lista para cierre del módulo.

## Ejecución automática realizada (Codex)

- ✅ Backend tests RRHH legajos/integraciones:
  - `legajos-tipos.service.spec.ts`
  - `legajos-dashboard.service.spec.ts`
  - `legajos-consulta.service.spec.ts`
  - `permisos-presentismo.service.spec.ts`
  - `desvinculaciones.service.spec.ts`
  - Resultado: `5 passed, 39 tests`.
- ✅ Backend build: `pnpm -C backend build` OK.
- ✅ Frontend build: `npm --prefix frontend run build` OK (PWA genera `sw.js`).
- ✅ Integraciones clave verificadas por pruebas:
  - M14 (advertencia/bloqueo por `LEGAJO_COMPLETITUD_OBLIGATORIO_BLOQUEA`).
  - M18 (`legajo_documento_id` y validaciones).
- ✅ Cobertura documental actualizada:
  - `backend/docs/qa-legajos-evidencia-2026-05-19.md`
  - `backend/docs/plan-rrhh-legajos.md` (estado implementado técnicamente).

## Pendiente para cierre operativo (UI manual)

Los siguientes checks requieren interacción visual/funcional en navegador con usuario de negocio:

## Precondiciones

- Backend levantado (`pnpm -C backend start:dev`).
- Frontend levantado (`npm --prefix frontend run dev`).
- Usuario con permisos `RRHH_LEGAJOS_*` y acceso a RRHH.
- Al menos 1 empleado activo en la empresa de prueba.

## Checklist

1. **Legajos > Catálogo de tipos**
- [ ] Se visualizan tipos del sistema (CI, CONTRATO, FOTO_PERFIL, CERTIFICADO_MED, etc.).
- [ ] Crear tipo personalizado funciona.
- [ ] Intentar editar tipo del sistema devuelve bloqueo funcional.

2. **Legajos > Legajo por funcionario**
- [ ] Seleccionar empleado carga listado y panel de completitud.
- [ ] Cargar documento válido funciona (toast éxito + fila visible).
- [ ] Reemplazar documento incrementa versión y mantiene trazabilidad.
- [ ] Anular documento pide motivo y quita del listado activo.

3. **Legajos > Dashboard vencimientos**
- [ ] Vista muestra `VENCIDOS` y `POR_VENCER` coherente.
- [ ] Vista de legajos incompletos lista faltantes/vencidos esperados.
- [ ] Exportación Excel funciona.

4. **Legajos > Consulta avanzada**
- [ ] Filtros (empleado/tipo/sucursal/departamento/fechas) funcionan.
- [ ] Paginación cursor avanza sin duplicados.
- [ ] Exportación Excel funciona.
- [ ] Exportación PDF funciona.

5. **Integración M18 (Presentismo)**
- [ ] En permisos médicos aparece selector de `Documento legajo`.
- [ ] Guardar permiso con `legajo_documento_id` funciona.

6. **Integración M14 (Desvinculaciones)**
- [ ] Con `LEGAJO_COMPLETITUD_OBLIGATORIO_BLOQUEA=false`: aprobar/pagar permite con advertencia.
- [ ] Con `...=true`: aprobar/pagar bloquea con detalle de legajo incompleto.

7. **UX/Tour/Onboarding**
- [ ] Guía de legajos visible.
- [ ] Prereq checklist legajos visible.
- [ ] Tour incluye subtab consulta y restantes sub-tabs legajos.
- [ ] Onboarding muestra slide 5 de legajos (limpiando storage local si aplica).

## Resultado final

- [ ] **APROBADO** — módulo RRHH Legajos listo para cierre (tras completar checks UI manuales).
- [ ] **OBSERVADO** — detallar incidencias.

## Incidencias encontradas

- (completar)
