en el medio del kilombo de la db
This commit is contained in:
89
sprints/sprint-5/ETAPA_E2E_PROMPT.md
Normal file
89
sprints/sprint-5/ETAPA_E2E_PROMPT.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# ETAPA E2E — Tests Playwright: verificación deploy Sprint 5
|
||||
|
||||
## Antes de tocar código, leé:
|
||||
1. `CLAUDE.md`
|
||||
2. `docs/estado/ESTADO_PROYECTO_26JUN2026.md` — estado general del proyecto
|
||||
|
||||
Confirmame el plan antes de implementar.
|
||||
|
||||
## Credenciales de test (usuario dedicado — nunca las de Marcos)
|
||||
- URL: `https://economia-cuidado.inqualityhq.com`
|
||||
- Email: `test-e2e@inquality.com.py`
|
||||
- Password: `TestE2E2026!#Cuidado`
|
||||
- Rol: `platform_admin`, org: `InQuality`
|
||||
|
||||
Estas credenciales van en `.env.test` en la raíz (agregar a `.gitignore` si no está).
|
||||
**Nunca hardcodeadas en los specs.**
|
||||
|
||||
## Verificar Playwright antes de instalar nada
|
||||
|
||||
```bash
|
||||
npx playwright --version 2>/dev/null && echo "instalado" || echo "no instalado"
|
||||
ls ~/.cache/ms-playwright 2>/dev/null && echo "browsers presentes" || echo "browsers ausentes"
|
||||
```
|
||||
|
||||
Reportar resultado antes de continuar. Si ya está instalado con browsers, agregar solo
|
||||
`@playwright/test` como devDependency sin correr `npx playwright install`.
|
||||
Si no está: `npx playwright install --with-deps chromium` (solo Chromium).
|
||||
|
||||
## Los 5 tests a implementar
|
||||
|
||||
**Archivo:** `tests/e2e/sprint5-verificacion.spec.ts`
|
||||
|
||||
### Test 1 — Login y redirect
|
||||
- Abrir `/admin/responses` sin sesión
|
||||
- Verificar redirect a `/login`
|
||||
- El DOM de `/login` contiene el campo `email`, el campo `password`, y el botón de toggle
|
||||
de contraseña (buscar `aria-label` que contenga "contraseña")
|
||||
|
||||
### Test 2 — Login funcional
|
||||
- Hacer login con las credenciales de test en `/login`
|
||||
- Verificar redirect a `/admin/responses`
|
||||
- El DOM contiene `<select>` para filtro de survey (no links hardcodeados)
|
||||
- El DOM contiene al menos una fila de respuesta (hay 50 sembradas)
|
||||
|
||||
### Test 3 — Vista detallada de respuesta
|
||||
- Desde `/admin/responses`, hacer click en el primer link "Ver" disponible
|
||||
- Verificar que la URL cambia a `/admin/responses/[uuid]`
|
||||
- El DOM contiene al menos una sección (buscar texto que indique agrupación por sección)
|
||||
- No hay error 404 ni texto "Respuesta no encontrada"
|
||||
|
||||
### Test 4 — Dashboard con datos
|
||||
- Navegar a `/dashboard` (o la ruta del dashboard — verificar cuál es)
|
||||
- Verificar que al menos un widget muestra un porcentaje (buscar `%` en el DOM)
|
||||
- No aparece "Datos insuficientes" en todos los widgets (puede aparecer en algunos
|
||||
segmentos con k<5, pero no en todos)
|
||||
|
||||
### Test 5 — Formulario público accesible sin auth
|
||||
- Navegar a `/` o `/encuesta` (verificar ruta correcta del formulario)
|
||||
- Verificar que NO redirige a `/login` (el formulario es público)
|
||||
- El DOM contiene el wizard o la pantalla de consentimiento
|
||||
|
||||
## Decisiones ya tomadas
|
||||
- Playwright en local apuntando a producción, no en CI (backlog)
|
||||
- `playwright.config.ts` en raíz, `testDir: 'tests/e2e'`
|
||||
- `.env.test` para credenciales, en `.gitignore`
|
||||
- Si un test falla, reportar el error exacto y consultarme — no intentar workarounds
|
||||
|
||||
## Archivos autorizados
|
||||
`playwright.config.ts`, `tests/e2e/sprint5-verificacion.spec.ts`, `.env.test`
|
||||
(no se commitea), `package.json` (devDependency), `package-lock.json`.
|
||||
Cualquier otro en `git diff --name-only HEAD` → revertir y reportar.
|
||||
|
||||
## DoD antes de reportar
|
||||
|
||||
```bash
|
||||
npx playwright test tests/e2e/sprint5-verificacion.spec.ts --reporter=list
|
||||
git log --name-only -1
|
||||
git diff --name-only HEAD # solo archivos autorizados, sin .env.test
|
||||
grep -r "TestE2E2026" . # debe dar vacío — contraseña no commiteada
|
||||
```
|
||||
|
||||
## Qué reportar
|
||||
- Resultado de checks de Playwright previos (versión, browsers)
|
||||
- Resultado de cada test: pass/fail con mensaje exacto si falla
|
||||
- Ruta real del dashboard y del formulario público (las que encontró en el código)
|
||||
- `git log --name-only -1` y `git diff --name-only HEAD`
|
||||
- Hallazgos no esperados
|
||||
|
||||
**No hacer deploy ni modificar nada en producción. No continuar sin mi OK si algo falla.**
|
||||
Reference in New Issue
Block a user