156 lines
5.3 KiB
Gherkin
156 lines
5.3 KiB
Gherkin
# language: es
|
|
# Fuente: album/book/ops-templates/backoffice/05-reportes.md
|
|
# Drive: 07. Finanzas y contabilidad/Reportes
|
|
# Tests Backend: pytest tests/contracts/mascotas/test_stats.py
|
|
# Tests Frontend: npx playwright test admin-reports.spec.ts
|
|
|
|
Característica: Reportes y dashboard
|
|
|
|
Como administrador o gerente
|
|
Quiero ver metricas y generar reportes
|
|
Para tomar decisiones informadas
|
|
|
|
Antecedentes:
|
|
Dado que estoy logueado como administrador
|
|
Y estoy en el backoffice
|
|
|
|
# ============================================
|
|
# DASHBOARD
|
|
# ============================================
|
|
|
|
Escenario: Ver dashboard principal
|
|
Cuando accedo al dashboard
|
|
Entonces deberia ver metricas resumidas:
|
|
| metrica | periodo |
|
|
| Solicitudes nuevas | Hoy |
|
|
| Visitas completadas | Semana |
|
|
| Ingresos | Mes |
|
|
| Veterinarios activos | Actual |
|
|
| Tasa de conversion | Mes |
|
|
|
|
Escenario: Dashboard actualiza periodicamente
|
|
Dado que estoy en el dashboard
|
|
Cuando pasan 5 minutos
|
|
Entonces los datos deberian actualizarse
|
|
Y deberia ver indicador de ultima actualizacion
|
|
|
|
Escenario: Ver grafico de tendencia
|
|
Cuando veo el grafico de solicitudes
|
|
Entonces deberia ver la evolucion de los ultimos 30 dias
|
|
Y deberia poder comparar con periodo anterior
|
|
|
|
# ============================================
|
|
# REPORTE DE SOLICITUDES
|
|
# ============================================
|
|
|
|
Escenario: Generar reporte de solicitudes
|
|
Cuando voy a "Reportes" -> "Solicitudes"
|
|
Y selecciono periodo "Enero 2024"
|
|
Y hago click en "Generar"
|
|
Entonces deberia ver tabla con solicitudes del periodo
|
|
Y deberia ver totales por estado:
|
|
| estado | cantidad |
|
|
| Pendiente | X |
|
|
| Coordinado | X |
|
|
| Pagado | X |
|
|
| Completado | X |
|
|
| Cancelado | X |
|
|
|
|
Escenario: Filtrar reporte por multiples criterios
|
|
Cuando genero reporte con filtros:
|
|
| filtro | valor |
|
|
| Periodo | Enero 2024 |
|
|
| Zona | Palermo |
|
|
| Veterinario | Dra. Garcia |
|
|
| Estado | Completado |
|
|
Entonces deberia ver solo solicitudes que cumplan todos los criterios
|
|
|
|
# ============================================
|
|
# REPORTE DE INGRESOS
|
|
# ============================================
|
|
|
|
Escenario: Ver ingresos por periodo
|
|
Cuando voy a "Reportes" -> "Ingresos"
|
|
Y selecciono "Ultimo trimestre"
|
|
Entonces deberia ver:
|
|
| dato |
|
|
| Ingresos totales |
|
|
| Cantidad de pagos |
|
|
| Ticket promedio |
|
|
| Reembolsos realizados |
|
|
| Ingreso neto |
|
|
|
|
Escenario: Ingresos agrupados por veterinario
|
|
Cuando agrupo el reporte por "Veterinario"
|
|
Entonces deberia ver para cada vet:
|
|
| dato |
|
|
| Visitas completadas |
|
|
| Ingresos generados |
|
|
| Porcentaje del total |
|
|
Y deberian estar ordenados de mayor a menor
|
|
|
|
Escenario: Ingresos agrupados por servicio
|
|
Cuando agrupo el reporte por "Servicio"
|
|
Entonces deberia ver los servicios mas vendidos
|
|
Y deberia ver el ingreso de cada uno
|
|
Y deberia ver la cantidad de veces realizado
|
|
|
|
# ============================================
|
|
# REPORTE DE VETERINARIOS
|
|
# ============================================
|
|
|
|
Escenario: Ver performance de veterinarios
|
|
Cuando voy a "Reportes" -> "Veterinarios"
|
|
Entonces deberia ver para cada veterinario:
|
|
| metrica |
|
|
| Visitas completadas |
|
|
| Calificacion promedio |
|
|
| Tasa de aceptacion |
|
|
| Tasa de cancelacion |
|
|
| Ingresos generados |
|
|
|
|
Escenario: Identificar veterinarios con problemas
|
|
Dado que el reporte muestra la tasa de cancelacion
|
|
Cuando ordeno por "Tasa de cancelacion" descendente
|
|
Entonces deberia ver primero los vets con mas cancelaciones
|
|
Y deberia poder investigar los motivos
|
|
|
|
# ============================================
|
|
# EXPORTACION
|
|
# ============================================
|
|
|
|
Esquema del escenario: Exportar reporte en diferentes formatos
|
|
Dado que tengo un reporte generado
|
|
Cuando hago click en "Exportar"
|
|
Y selecciono formato "<formato>"
|
|
Entonces deberia descargarse el archivo en formato <formato>
|
|
|
|
Ejemplos:
|
|
| formato |
|
|
| CSV |
|
|
| Excel |
|
|
| PDF |
|
|
|
|
Escenario: Exportar reporte grande de forma asincrona
|
|
Dado que genere un reporte con mas de 10000 registros
|
|
Cuando hago click en "Exportar"
|
|
Entonces deberia ver mensaje "Generando exportacion..."
|
|
Y deberia recibir notificacion cuando este listo
|
|
Y deberia poder descargar desde el centro de notificaciones
|
|
|
|
# ============================================
|
|
# REPORTES PROGRAMADOS
|
|
# ============================================
|
|
|
|
Escenario: Programar reporte semanal
|
|
Cuando voy a "Reportes" -> "Programados"
|
|
Y creo nuevo reporte programado:
|
|
| campo | valor |
|
|
| Tipo | Ingresos |
|
|
| Frecuencia | Semanal |
|
|
| Dia | Lunes |
|
|
| Destinatarios | gerencia@ejemplo.com |
|
|
Y guardo
|
|
Entonces deberia enviarse el reporte cada lunes
|
|
Y los destinatarios deberian recibirlo por email
|