spr migrated books, and tester

This commit is contained in:
buenosairesam
2025-12-31 09:07:27 -03:00
parent 21b8eab3cb
commit cccc6b5a93
136 changed files with 15763 additions and 472 deletions

View File

@@ -0,0 +1,158 @@
# language: es
# Fuente: album/book/ops-templates/backoffice/01-gestion-solicitudes.md
# Drive: 05. ATC - Operaciones/Procedimientos
# Tests Backend: pytest tests/contracts/solicitudes/test_service_requests.py
# Tests Frontend: npx playwright test admin-requests.spec.ts
Característica: Gestion de solicitudes de servicio
Como administrador del backoffice
Quiero gestionar todas las solicitudes del sistema
Para asegurar que se atiendan correctamente
Antecedentes:
Dado que estoy logueado como administrador
Y estoy en la seccion "Solicitudes" del backoffice
# ============================================
# VER Y FILTRAR SOLICITUDES
# ============================================
Escenario: Ver listado de todas las solicitudes
Cuando cargo la pagina de solicitudes
Entonces deberia ver un listado paginado
Y cada solicitud deberia mostrar:
| campo |
| ID |
| Dueno |
| Mascota |
| Servicios |
| Estado |
| Fecha |
Esquema del escenario: Filtrar solicitudes por estado
Cuando filtro por estado "<estado>"
Entonces solo deberia ver solicitudes con estado "<estado>"
Ejemplos:
| estado |
| Pendiente |
| Coordinado |
| Pagado |
| Completado |
| Cancelado |
Escenario: Buscar solicitud especifica
Cuando busco por email "maria@ejemplo.com"
Entonces deberia ver solo solicitudes de ese dueno
Escenario: Filtrar por rango de fechas
Cuando filtro desde "01/01/2024" hasta "31/01/2024"
Entonces solo deberia ver solicitudes de enero 2024
# ============================================
# ASIGNAR VETERINARIO MANUALMENTE
# ============================================
Escenario: Asignar veterinario a solicitud pendiente
Dado que hay una solicitud pendiente en "Palermo"
Y no fue aceptada por ningun veterinario
Cuando abro el detalle de la solicitud
Y hago click en "Asignar veterinario"
Entonces deberia ver lista de veterinarios con cobertura en Palermo
Cuando selecciono "Dra. Garcia"
Y selecciono fecha "15 de enero" hora "10:00"
Y confirmo la asignacion
Entonces la solicitud deberia pasar a estado "Coordinado"
Y deberia estar asignada a Dra. Garcia
Y el dueno deberia recibir notificacion
Y el veterinario deberia recibir notificacion
Escenario: Ver disponibilidad de veterinarios antes de asignar
Dado que estoy asignando un veterinario
Cuando veo la lista de veterinarios disponibles
Entonces deberia ver para cada uno:
| informacion |
| Nombre |
| Disponibilidad |
| Visitas del dia |
| Distancia a destino |
# ============================================
# CAMBIAR ESTADO MANUALMENTE
# ============================================
Escenario: Cambiar estado de solicitud
Dado que hay una solicitud en estado "Coordinado"
Y el pago se proceso pero el webhook fallo
Cuando abro la solicitud
Y hago click en "Cambiar estado"
Y selecciono "Pagado"
Y ingreso motivo "Pago confirmado manualmente - ID MP: 12345"
Y confirmo el cambio
Entonces la solicitud deberia pasar a "Pagado"
Y el cambio deberia registrarse en el historial
Y deberia quedar mi usuario como responsable del cambio
Regla: Solo ciertos cambios de estado son validos
Escenario: No puedo volver a estado anterior
Dado que hay una solicitud en estado "Completado"
Cuando intento cambiar el estado a "Pagado"
Entonces deberia ver error "No se puede volver a un estado anterior"
Escenario: Puedo cancelar desde cualquier estado
Dado que hay una solicitud en estado "Coordinado"
Cuando cambio el estado a "Cancelado"
Y ingreso motivo de cancelacion
Entonces la solicitud deberia cancelarse
# ============================================
# VER DETALLE COMPLETO
# ============================================
Escenario: Ver historial de cambios de una solicitud
Dado que hay una solicitud con varios cambios de estado
Cuando abro el detalle de la solicitud
Y voy a la pestaña "Historial"
Entonces deberia ver todos los cambios con:
| campo |
| Fecha y hora |
| Estado anterior |
| Estado nuevo |
| Usuario |
| Motivo |
Escenario: Ver informacion de pago
Dado que hay una solicitud pagada
Cuando abro el detalle
Entonces deberia ver seccion "Pago" con:
| campo |
| Monto |
| Fecha de pago |
| Metodo |
| ID operacion MP |
| Estado del pago |
# ============================================
# CASOS ESPECIALES
# ============================================
Escenario: Reasignar veterinario
Dado que hay una solicitud asignada a "Dr. Lopez"
Y Dr. Lopez no puede asistir
Cuando abro la solicitud
Y hago click en "Reasignar"
Y selecciono otro veterinario
Y confirmo
Entonces Dr. Lopez deberia ser notificado de la desasignacion
Y el nuevo vet deberia ser notificado
Y el dueno deberia ser notificado del cambio
Escenario: Solicitud sin veterinarios disponibles
Dado que hay una solicitud pendiente en una zona remota
Y no hay veterinarios con cobertura en esa zona
Cuando intento asignar veterinario
Entonces deberia ver mensaje "No hay veterinarios disponibles"
Y deberia poder expandir la busqueda a zonas cercanas