Files
soleprint/cfg/amar/atlas/books/gherkin-samples/es/veterinarian/01-aceptar-solicitud.feature
2026-01-20 05:31:26 -03:00

130 lines
5.0 KiB
Gherkin

# language: es
# Fuente: album/book/ops-templates/veterinarian/01-aceptar-solicitud.md
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
# Tests Backend: pytest tests/contracts/solicitudes/test_service_requests.py
# Tests Frontend: npx playwright test vet-requests.spec.ts
Característica: Aceptar o rechazar solicitudes de servicio
Como veterinario de la plataforma
Quiero revisar y responder a solicitudes en mi zona
Para gestionar mi agenda de visitas a domicilio
Antecedentes:
Dado que estoy logueado como veterinario
Y tengo cobertura en los barrios "Palermo" y "Recoleta"
Y estoy en el dashboard de veterinario
# ============================================
# VER SOLICITUDES PENDIENTES
# ============================================
Escenario: Ver lista de solicitudes en mi zona
Cuando veo la seccion "Solicitudes pendientes"
Entonces deberia ver solo solicitudes de "Palermo" y "Recoleta"
Y no deberia ver solicitudes de otros barrios
Escenario: Ver detalle de solicitud
Dado que hay una solicitud pendiente
Cuando hago click en la solicitud
Entonces deberia ver:
| seccion | contenido |
| Dueno | Nombre, telefono, direccion |
| Mascota | Nombre, tipo, edad, foto |
| Servicios | Lista de servicios solicitados |
| Fechas | Fechas preferidas por el dueno |
| Historial | Visitas anteriores si las hay |
# ============================================
# ACEPTAR SOLICITUD
# ============================================
Escenario: Aceptar solicitud con fecha disponible
Dado que hay una solicitud para el barrio "Palermo"
Y el dueno prefiere fechas:
| fecha | franja |
| 2024-01-15 | Mañana |
| 2024-01-16 | Tarde |
Y tengo disponibilidad el 15 de enero a las 10:00
Cuando hago click en "Aceptar"
Y selecciono fecha "15 de enero" hora "10:00"
Y confirmo la aceptacion
Entonces la solicitud deberia pasar a estado "Coordinado"
Y deberia quedar asignada a mi
Y el dueno deberia recibir notificacion con mis datos
Y la visita deberia aparecer en mi agenda
Escenario: Aceptar solicitud con datos de mascota que ya atendi
Dado que hay una solicitud para mascota "Luna"
Y yo atendi a "Luna" anteriormente
Cuando veo el detalle de la solicitud
Entonces deberia ver badge "Paciente recurrente"
Y deberia ver el historial de mis visitas anteriores a Luna
# ============================================
# RECHAZAR SOLICITUD
# ============================================
Esquema del escenario: Rechazar solicitud con motivo
Dado que hay una solicitud pendiente
Cuando hago click en "Rechazar"
Y selecciono motivo "<motivo>"
Y confirmo el rechazo
Entonces la solicitud deberia desaparecer de mi lista
Y deberia seguir visible para otros veterinarios
Ejemplos:
| motivo |
| No tengo disponibilidad |
| Fuera de mi zona |
| No realizo este servicio |
| Otro |
Escenario: Rechazar sin seleccionar motivo
Dado que hay una solicitud pendiente
Cuando hago click en "Rechazar"
Y confirmo sin seleccionar motivo
Entonces deberia poder rechazar igual
# El motivo es opcional
# ============================================
# RACE CONDITIONS
# ============================================
Regla: Solo un veterinario puede aceptar cada solicitud
Escenario: Otro vet acepta mientras estoy viendo
Dado que estoy viendo el detalle de una solicitud
Y otro veterinario acepta la misma solicitud
Cuando intento aceptarla
Entonces deberia ver error "Esta solicitud ya fue aceptada"
Y deberia ser redirigido al listado
Escenario: Solicitud desaparece cuando otro la acepta
Dado que estoy viendo el listado de solicitudes
Y otro veterinario acepta una solicitud
Entonces esa solicitud deberia desaparecer de mi lista
# Idealmente en tiempo real via websocket
# ============================================
# CASOS ESPECIALES
# ============================================
Escenario: Solicitud urgente destacada
Dado que hay una solicitud marcada como "Urgente"
Cuando veo el listado de solicitudes
Entonces deberia ver la solicitud con indicador de urgencia
Y deberia aparecer primero en la lista
Escenario: Solicitud con multiples mascotas
Dado que hay una solicitud para 2 mascotas
Cuando veo el detalle
Entonces deberia ver informacion de ambas mascotas
Y deberia ver nota sobre tiempo estimado adicional
Escenario: No puedo aceptar con agenda completa
Dado que tengo mi agenda completa para las fechas de la solicitud
Cuando intento aceptar la solicitud
Entonces deberia ver advertencia "No tienes disponibilidad en las fechas preferidas"
Y deberia poder proponer una fecha alternativa