# 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

Feature: Gestionar zonas de cobertura

  Como veterinario
  Quiero definir en que zonas atiendo
  Para recibir solo solicitudes que puedo cubrir

  Background:
    Given que estoy logueado como veterinario
    And estoy en la seccion "Mi cobertura"

  # ============================================
  # VER ZONAS ACTUALES
  # ============================================

  Scenario: Ver mapa con mis zonas de cobertura
    When cargo la pagina de cobertura
    Then deberia ver un mapa de la ciudad
    And mis zonas cubiertas deberian estar resaltadas
    And deberia ver un listado de barrios seleccionados

  Scenario: Ver estadisticas por zona
    Given que tengo cobertura en "Palermo" y "Recoleta"
    When veo el detalle de mis zonas
    Then deberia ver para cada zona:
      | metrica                  |
      | Solicitudes este mes     |
      | Visitas completadas      |
      | Otros vets en la zona    |

  # ============================================
  # AGREGAR ZONAS
  # ============================================

  Scenario: Agregar barrio desde el mapa
    Given que no tengo cobertura en "Belgrano"
    When hago click en "Belgrano" en el mapa
    And confirmo agregar la zona
    Then "Belgrano" deberia aparecer en mi lista de zonas
    And deberia empezar a ver solicitudes de Belgrano

  Scenario: Agregar multiples zonas a la vez
    When selecciono los barrios:
      | barrio     |
      | Colegiales |
      | Chacarita  |
      | Villa Crespo |
    And hago click en "Agregar seleccionados"
    Then los 3 barrios deberian agregarse a mi cobertura

  # ============================================
  # QUITAR ZONAS
  # ============================================

  Scenario: Quitar zona de cobertura
    Given que tengo cobertura en "Recoleta"
    When hago click en "X" junto a "Recoleta"
    And confirmo quitar la zona
    Then "Recoleta" no deberia estar en mi lista
    And no deberia ver nuevas solicitudes de Recoleta

  # ============================================
  # IMPACTO EN SOLICITUDES
  # ============================================

  Rule: Los cambios de zona afectan solo solicitudes nuevas

    Scenario: Agregar zona muestra solicitudes existentes
      Given que no tengo cobertura en "Belgrano"
      And hay 3 solicitudes pendientes en Belgrano
      When agrego "Belgrano" a mi cobertura
      Then deberia ver las 3 solicitudes pendientes de Belgrano

    Scenario: Quitar zona no afecta visitas aceptadas
      Given que tengo cobertura en "Recoleta"
      And tengo una visita aceptada en Recoleta para mañana
      When quito "Recoleta" de mi cobertura
      Then la visita de mañana deberia mantenerse
      But no deberia ver nuevas solicitudes de Recoleta
