# Fuente: album/book/ops-templates/veterinarian/05-historial-pacientes.md
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
# Tests Backend: pytest tests/contracts/mascotas/test_vet_visits.py
# Tests Frontend: npx playwright test vet-history.spec.ts

Feature: Ver historial de pacientes

  Como veterinario
  Quiero acceder al historial medico de pacientes
  Para tener contexto clinico en mis atenciones

  Background:
    Given que estoy logueado como veterinario
    And estoy en la seccion "Historia clinica"

  # ============================================
  # BUSCAR PACIENTES
  # ============================================

  Scenario Outline: Buscar paciente por diferentes criterios
    When busco por <criterio> con valor "<valor>"
    Then deberia ver resultados que coincidan

    Examples:
      | criterio         | valor              |
      | nombre dueno     | Maria Garcia       |
      | nombre mascota   | Luna               |
      | telefono         | 1155551234         |
      | email            | maria@ejemplo.com  |

  Scenario: Busqueda sin resultados
    When busco "ZZZZZ paciente inexistente"
    Then deberia ver mensaje "No se encontraron resultados"
    And deberia ver sugerencia "Verifica la ortografia"

  # ============================================
  # VER FICHA DE MASCOTA
  # ============================================

  Scenario: Ver ficha completa de mascota
    Given que encontre a la mascota "Luna"
    When hago click en Luna
    Then deberia ver la ficha con:
      | seccion            | contenido                        |
      | Datos basicos      | Nombre, tipo, raza, edad, peso   |
      | Foto               | Foto de la mascota               |
      | Dueno              | Nombre y contacto del dueno      |
      | Vacunacion         | Estado de vacunas                |
      | Historial          | Lista de visitas                 |

  # ============================================
  # VER HISTORIAL DE VISITAS
  # ============================================

  Scenario: Ver listado de visitas
    Given que estoy viendo la ficha de "Luna"
    And Luna tiene 5 visitas completadas
    When veo la seccion "Historial de visitas"
    Then deberia ver las 5 visitas listadas
    And deberian estar ordenadas de mas reciente a mas antigua

  Scenario: Ver informe de visita de otro veterinario
    Given que Luna fue atendida por "Dra. Rodriguez"
    And yo no la atendi en esa visita
    When hago click en esa visita
    Then deberia poder ver el informe completo
    # Para continuidad de atencion

  # ============================================
  # FILTROS Y NAVEGACION
  # ============================================

  Scenario: Filtrar historial por tipo de servicio
    Given que estoy viendo el historial de "Luna"
    When filtro por servicio "Vacunacion"
    Then solo deberia ver visitas de vacunacion

  Scenario: Filtrar por mis atenciones
    Given que estoy viendo el historial de "Luna"
    And Luna fue atendida por varios veterinarios
    When marco "Solo mis atenciones"
    Then solo deberia ver las visitas que yo realice

  # ============================================
  # PERMISOS
  # ============================================

  Rule: Veterinarios pueden ver historial de pacientes que atendieron

    Scenario: Puedo ver historial de paciente que atendi
      Given que yo atendi a "Luna" al menos una vez
      When busco a Luna
      Then deberia poder ver su historial completo

    Scenario: Puedo ver historial de paciente con solicitud pendiente
      Given que hay una solicitud pendiente para "Rocky"
      And la solicitud esta en mi zona
      When busco a Rocky
      Then deberia poder ver su historial
      # Para evaluar si acepto la solicitud
