Files
soleprint/atlas/book/gherkin-samples/en/backoffice/01-gestion-solicitudes.feature
2025-12-31 09:07:27 -03:00

105 lines
3.6 KiB
Gherkin

# 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
Feature: Gestion de solicitudes de servicio
Como administrador del backoffice
Quiero gestionar todas las solicitudes del sistema
Para asegurar que se atiendan correctamente
Background:
Given que estoy logueado como administrador
And estoy en la seccion "Solicitudes" del backoffice
# ============================================
# VER Y FILTRAR SOLICITUDES
# ============================================
Scenario: Ver listado de todas las solicitudes
When cargo la pagina de solicitudes
Then deberia ver un listado paginado
And cada solicitud deberia mostrar:
| campo |
| ID |
| Dueno |
| Mascota |
| Servicios |
| Estado |
| Fecha |
Scenario Outline: Filtrar solicitudes por estado
When filtro por estado "<estado>"
Then solo deberia ver solicitudes con estado "<estado>"
Examples:
| estado |
| Pendiente |
| Coordinado |
| Pagado |
| Completado |
| Cancelado |
# ============================================
# ASIGNAR VETERINARIO MANUALMENTE
# ============================================
Scenario: Asignar veterinario a solicitud pendiente
Given que hay una solicitud pendiente en "Palermo"
And no fue aceptada por ningun veterinario
When abro el detalle de la solicitud
And hago click en "Asignar veterinario"
Then deberia ver lista de veterinarios con cobertura en Palermo
When selecciono "Dra. Garcia"
And selecciono fecha "15 de enero" hora "10:00"
And confirmo la asignacion
Then la solicitud deberia pasar a estado "Coordinado"
And deberia estar asignada a Dra. Garcia
And el dueno deberia recibir notificacion
And el veterinario deberia recibir notificacion
# ============================================
# CAMBIAR ESTADO MANUALMENTE
# ============================================
Scenario: Cambiar estado de solicitud
Given que hay una solicitud en estado "Coordinado"
And el pago se proceso pero el webhook fallo
When abro la solicitud
And hago click en "Cambiar estado"
And selecciono "Pagado"
And ingreso motivo "Pago confirmado manualmente - ID MP: 12345"
And confirmo el cambio
Then la solicitud deberia pasar a "Pagado"
And el cambio deberia registrarse en el historial
Rule: Solo ciertos cambios de estado son validos
Scenario: No puedo volver a estado anterior
Given que hay una solicitud en estado "Completado"
When intento cambiar el estado a "Pagado"
Then deberia ver error "No se puede volver a un estado anterior"
Scenario: Puedo cancelar desde cualquier estado
Given que hay una solicitud en estado "Coordinado"
When cambio el estado a "Cancelado"
And ingreso motivo de cancelacion
Then la solicitud deberia cancelarse
# ============================================
# CASOS ESPECIALES
# ============================================
Scenario: Reasignar veterinario
Given que hay una solicitud asignada a "Dr. Lopez"
And Dr. Lopez no puede asistir
When abro la solicitud
And hago click en "Reasignar"
And selecciono otro veterinario
And confirmo
Then Dr. Lopez deberia ser notificado de la desasignacion
And el nuevo vet deberia ser notificado
And el dueno deberia ser notificado del cambio