# language: es # Fuente: album/book/ops-templates/veterinarian/04-zonas-cobertura.md # Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario # Tests Backend: pytest tests/contracts/mascotas/test_veterinarians.py # Tests Frontend: npx playwright test vet-coverage.spec.ts Característica: Gestionar zonas de cobertura Como veterinario Quiero definir en que zonas atiendo Para recibir solo solicitudes que puedo cubrir Antecedentes: Dado que estoy logueado como veterinario Y estoy en la seccion "Mi cobertura" # ============================================ # VER ZONAS ACTUALES # ============================================ Escenario: Ver mapa con mis zonas de cobertura Cuando cargo la pagina de cobertura Entonces deberia ver un mapa de la ciudad Y mis zonas cubiertas deberian estar resaltadas Y deberia ver un listado de barrios seleccionados Escenario: Ver estadisticas por zona Dado que tengo cobertura en "Palermo" y "Recoleta" Cuando veo el detalle de mis zonas Entonces deberia ver para cada zona: | metrica | | Solicitudes este mes | | Visitas completadas | | Otros vets en la zona | # ============================================ # AGREGAR ZONAS # ============================================ Escenario: Agregar barrio desde el mapa Dado que no tengo cobertura en "Belgrano" Cuando hago click en "Belgrano" en el mapa Y confirmo agregar la zona Entonces "Belgrano" deberia aparecer en mi lista de zonas Y deberia empezar a ver solicitudes de Belgrano Escenario: Agregar barrio desde el buscador Cuando busco "Nuñez" en el buscador de barrios Y selecciono "Nuñez" de los resultados Y confirmo agregar la zona Entonces "Nuñez" deberia aparecer en mi lista Escenario: Agregar multiples zonas a la vez Cuando selecciono los barrios: | barrio | | Colegiales | | Chacarita | | Villa Crespo | Y hago click en "Agregar seleccionados" Entonces los 3 barrios deberian agregarse a mi cobertura # ============================================ # QUITAR ZONAS # ============================================ Escenario: Quitar zona de cobertura Dado que tengo cobertura en "Recoleta" Cuando hago click en "X" junto a "Recoleta" Y confirmo quitar la zona Entonces "Recoleta" no deberia estar en mi lista Y no deberia ver nuevas solicitudes de Recoleta Escenario: Quitar zona con solicitudes pendientes Dado que tengo cobertura en "Palermo" Y hay solicitudes pendientes en Palermo que no acepte Cuando intento quitar "Palermo" Entonces deberia ver advertencia "Hay X solicitudes pendientes en esta zona" Y deberia poder confirmar de todas formas # Las solicitudes pendientes siguen disponibles para otros vets # ============================================ # IMPACTO EN SOLICITUDES # ============================================ Regla: Los cambios de zona afectan solo solicitudes nuevas Escenario: Agregar zona muestra solicitudes existentes Dado que no tengo cobertura en "Belgrano" Y hay 3 solicitudes pendientes en Belgrano Cuando agrego "Belgrano" a mi cobertura Entonces deberia ver las 3 solicitudes pendientes de Belgrano Escenario: Quitar zona no afecta visitas aceptadas Dado que tengo cobertura en "Recoleta" Y tengo una visita aceptada en Recoleta para mañana Cuando quito "Recoleta" de mi cobertura Entonces la visita de mañana deberia mantenerse Pero no deberia ver nuevas solicitudes de Recoleta # ============================================ # CASOS ESPECIALES # ============================================ Escenario: Zona no disponible en el sistema Dado que quiero cubrir "Barrio Nuevo" Pero ese barrio no esta en el sistema Cuando busco "Barrio Nuevo" Entonces deberia ver mensaje "Zona no encontrada" Y deberia ver opcion "Solicitar que agreguen esta zona" Escenario: Zona con baja demanda Dado que agrego una zona con poca actividad Cuando pasan 30 dias sin solicitudes Entonces deberia recibir sugerencia "Considera expandir tu cobertura" Escenario: Zona saturada de veterinarios Dado que quiero agregar "Palermo" Y hay muchos veterinarios cubriendo Palermo Cuando agrego la zona Entonces deberia ver nota "Esta zona tiene alta cobertura de veterinarios" # Informativo, no bloquea