Skip to content

Plan de Pruebas — M3: Dashboard + Reportes

Fecha: 2026-07-27 Módulo: doc/plans/2026-07-25-plan-desarrollo-modulos.md (M3) Ambiente: Dev local (./start-dev.sh) — http://localhost:5173

Estado de los datos

Además del seed base, la base tiene ~124 transacciones (100 simuladas como si vinieran de Soterex, ACCEPTED) más lo que se fue pagando/cancelando durante el desarrollo. Si querés arrancar de cero:

bash
docker compose exec backend php artisan tinker --execute="App\Models\AuditLog::query()->delete(); App\Models\Transaction::query()->delete();"
docker compose exec backend php artisan db:seed --no-interaction

Usuarios (mismos que M1/M2)

EmailPasswordDashboard / Reportes
admin@cislatam.testAdmin123!Ve ambos — sin el KPI de comisión en el Dashboard
supervisor@cislatam.testSuper123!Ve ambos — con el KPI de comisión en el Dashboard
backoffice@cislatam.testBackoffice123!No ve ninguno de los dos

1. Acceso por rol

#PasoResultado esperado
1.1Como Backoffice, mirar el sidebarNo aparecen ni "Dashboard" ni "Reportes"
1.2Como Backoffice, entrar directo por URL a http://localhost:5173/Te rebota a Transacciones — no se llega ni escribiendo la URL
1.3Como Backoffice, entrar directo a http://localhost:5173/reportes/situacionMismo rebote
1.4Como Supervisor o AdminAmbos ítems aparecen en el sidebar y se puede entrar sin problema

2. Dashboard — KPIs

#PasoResultado esperado
2.1Como cualquiera de los dos roles con acceso, entrar a DashboardSe ven 4 tarjetas: Transacciones pagadas (hoy), Transacciones pendientes (ACCEPTED), PDVs activos, Saldo de prefondeo
2.2Como SupervisorAparece una 5ta tarjeta: "Comisión generada (hoy)"
2.3Como AdminEsa 5ta tarjeta no aparece — mismo país, mismo permiso de módulo que Supervisor, pero el rol no es el mismo
2.4Como Supervisor (acotado a 2 PDVs: GT-CAP-001 y GT-QUE-002), mirar "PDVs activos"Muestra 2, no el total del país
2.5Como Admin (sin restricción de PDV), mirar "PDVs activos"Muestra el total real de PDVs activos del país (4 en el seed)

3. Reportes — Estado de Situación

#PasoResultado esperado
3.1Entrar a ReportesCae directo en la pestaña "Estado de Situación"
3.2Mirar los totalizadores de arribaSaldo actual, Prefondeo cargado, Pagado (con su comisión debajo), Pendiente, Cancelado
3.3Mirar la tabla de movimientosMezcla transacciones (ACCEPTED/PAID/CANCELLED) y asientos de prefondeo, ordenados por fecha — la comisión se ve en cada fila de transacción (a diferencia del listado de Transacciones, donde está restringida)
3.4Filtrar por fecha Desde/HastaLa tabla y los totalizadores se recalculan para ese rango
3.5Sin poner fechaTrae los últimos 30 días por defecto (aviso al lado de los inputs)

4. Reportes — Volumen y Comparativas

#PasoResultado esperado
4.1Click en la pestaña "Volumen y Comparativas"La URL cambia a /reportes/volumen, el ítem "Reportes" del sidebar se mantiene resaltado
4.2Mirar "Totalizadores por país"Una fila por país con alcance (hoy solo Guatemala) + una fila "Total" al final
4.3Mirar "Ranking de PDVs"Incluye todos los PDVs activos del alcance, incluso los que no tuvieron ninguna transacción pagada en el rango (aparecen con 0)
4.4Click en cualquier encabezado de columna del ranking (ej. "Monto")Ordena por esa columna, con flechita indicando el sentido; un segundo click invierte el orden
4.5Los totales de "Totalizadores por país" vs. los de "Estado de Situación" (mismo rango)Deben coincidir — son la misma info vista de 2 formas distintas

5. Qué NO es parte de este módulo (no reportar como bug)

  • No hay exportación a Excel/PDF todavía (funcional, pregunta #6 — pendiente, no bloqueante).
  • Con un solo país cargado (Guatemala), la comparativa "país vs país" no se puede ver en acción todavía — hace falta el ABM de Países (M4) para dar de alta un segundo país.
  • El filtro de país en "Volumen y Comparativas" no tiene efecto visible mientras haya un solo país en tu alcance (queda listo para cuando haya más de uno).

Cómo reportarme el feedback

Con el número de la tabla alcanza (ej. "2.3 el Admin igual ve la comisión").

Documentación viva — se actualiza junto con el código, no es un anexo aparte.