Files
motor-de-encuestas/sprints/sprint-5/ETAPA_E2E_PROMPT.md
2026-06-28 01:36:45 -03:00

3.7 KiB

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

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

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.