# 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 Feature: 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 Background: Given que estoy logueado como veterinario And tengo cobertura en los barrios "Palermo" y "Recoleta" And estoy en el dashboard de veterinario # ============================================ # VER SOLICITUDES PENDIENTES # ============================================ Scenario: Ver lista de solicitudes en mi zona When veo la seccion "Solicitudes pendientes" Then deberia ver solo solicitudes de "Palermo" y "Recoleta" And no deberia ver solicitudes de otros barrios Scenario: Ver detalle de solicitud Given que hay una solicitud pendiente When hago click en la solicitud Then 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 # ============================================ Scenario: Aceptar solicitud con fecha disponible Given que hay una solicitud para el barrio "Palermo" And el dueno prefiere fechas: | fecha | franja | | 2024-01-15 | MaƱana | | 2024-01-16 | Tarde | And tengo disponibilidad el 15 de enero a las 10:00 When hago click en "Aceptar" And selecciono fecha "15 de enero" hora "10:00" And confirmo la aceptacion Then la solicitud deberia pasar a estado "Coordinado" And deberia quedar asignada a mi And el dueno deberia recibir notificacion con mis datos And la visita deberia aparecer en mi agenda Scenario: Aceptar solicitud con datos de mascota que ya atendi Given que hay una solicitud para mascota "Luna" And yo atendi a "Luna" anteriormente When veo el detalle de la solicitud Then deberia ver badge "Paciente recurrente" And deberia ver el historial de mis visitas anteriores a Luna # ============================================ # RECHAZAR SOLICITUD # ============================================ Scenario Outline: Rechazar solicitud con motivo Given que hay una solicitud pendiente When hago click en "Rechazar" And selecciono motivo "" And confirmo el rechazo Then la solicitud deberia desaparecer de mi lista And deberia seguir visible para otros veterinarios Examples: | motivo | | No tengo disponibilidad | | Fuera de mi zona | | No realizo este servicio | | Otro | # ============================================ # RACE CONDITIONS # ============================================ Rule: Solo un veterinario puede aceptar cada solicitud Scenario: Otro vet acepta mientras estoy viendo Given que estoy viendo el detalle de una solicitud And otro veterinario acepta la misma solicitud When intento aceptarla Then deberia ver error "Esta solicitud ya fue aceptada" And deberia ser redirigido al listado # ============================================ # CASOS ESPECIALES # ============================================ Scenario: Solicitud urgente destacada Given que hay una solicitud marcada como "Urgente" When veo el listado de solicitudes Then deberia ver la solicitud con indicador de urgencia And deberia aparecer primero en la lista Scenario: No puedo aceptar con agenda completa Given que tengo mi agenda completa para las fechas de la solicitud When intento aceptar la solicitud Then deberia ver advertencia "No tienes disponibilidad en las fechas preferidas" And deberia poder proponer una fecha alternativa