# Checklist Cierre Modulo 3 (E2E)

## 1) Preparacion QA
- Ejecutar migraciones completas.
- Ejecutar seed: `database/seeds/qa_module3_seed.sql`.
- Confirmar tenant demo y usuario owner.

## 2) Usuarios
- Crear usuario nuevo.
- Editar rol/status.
- Intentar eliminar usuario como `admin` (debe bloquearse).
- Eliminar usuario como `owner` (debe permitir).
- Intentar borrar ultimo owner (debe bloquearse).

## 3) Equipos y jerarquia
- Crear equipo padre e hijo.
- Asignar parent valido.
- Intentar crear ciclo (debe bloquearse).
- Intentar eliminar equipo con hijos (debe bloquearse).
- Intentar eliminar equipo con miembros (debe bloquearse).

## 4) RBAC
- Guardar override rol (allow/deny).
- Guardar override usuario.
- Guardar permiso por campo (`hidden`/`readonly`).
- Ejecutar matriz masiva y verificar cambios persistidos.
- Crear rol custom, asignarlo y quitar asignacion.

## 5) Aprobaciones
- Generar cambio sensible de rol por usuario no owner.
- Revisar aprobacion y aprobar.
- Verificar que se aplico el cambio al usuario destino.

## 6) API tokens y scopes
- Crear token con scope `contacts.read`.
- Consumir `GET /api/v1/contacts` con Bearer (ok).
- Probar endpoint write con mismo token (forbidden/unauthorized).
- Revocar token y validar rechazo.

## 7) Auditoria
- Verificar presencia de logs para: delete user/team, bulk RBAC, approvals, tokens revoke.
- Ejecutar `/api/v1/audit/verify?tenant=demo`.
- Confirmar `ok=true` o revisar `issues`.

## 8) Pruebas automatizadas
- `php tests/security_smoke.php`
- `php tests/rbac_regression.php 1 1`
- `php tests/module3_closure_smoke.php`
