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

Característica: Ver historial medico

  Como dueno de mascota
  Quiero ver el historial medico de mis mascotas
  Para tener registro de sus visitas y tratamientos

  Antecedentes:
    Dado que estoy logueado como dueno de mascota
    Y tengo una mascota "Luna" con visitas completadas

  # ============================================
  # ACCESO AL HISTORIAL
  # ============================================

  Escenario: Acceder al historial desde mascotas
    Dado que estoy en "Mis mascotas"
    Cuando hago click en "Luna"
    Y voy a la seccion "Historial de visitas"
    Entonces deberia ver lista de visitas de Luna

  Escenario: Acceder al historial desde turnos
    Dado que estoy en "Mis turnos"
    Y filtro por "Completados"
    Cuando hago click en un turno de Luna
    Y hago click en "Ver informe medico"
    Entonces deberia ver el informe de esa visita

  # ============================================
  # VISUALIZACION DE VISITAS
  # ============================================

  Escenario: Ver lista de visitas ordenadas
    Dado que Luna tiene visitas en las siguientes fechas:
      | fecha       |
      | 2024-01-15  |
      | 2023-11-20  |
      | 2023-06-10  |
    Cuando veo el historial de Luna
    Entonces deberia ver las visitas ordenadas de mas reciente a mas antigua
    Y la primera deberia ser del "15 de enero 2024"

  Escenario: Ver detalle completo de informe
    Cuando hago click en una visita completada
    Entonces deberia ver los siguientes datos:
      | seccion           | contenido                        |
      | Informacion       | Fecha, veterinario, servicios    |
      | Examen fisico     | Peso, temperatura, FC, obs       |
      | Diagnostico       | Descripcion del diagnostico      |
      | Tratamiento       | Plan de tratamiento              |
      | Medicamentos      | Lista con dosis y frecuencia     |
      | Estudios          | Estudios solicitados y estado    |
      | Seguimiento       | Recomendaciones, proximo control |

  Escenario: Ver informe con medicamentos recetados
    Dado que la visita incluye medicamentos:
      """
      1. Amoxicilina 250mg - 1 comprimido cada 12hs por 7 dias
      2. Meloxicam 1.5mg - 1 comprimido por dia por 3 dias
      """
    Cuando veo el informe
    Entonces deberia ver la lista de medicamentos
    Y cada medicamento deberia mostrar:
      | campo       |
      | Nombre      |
      | Dosis       |
      | Frecuencia  |
      | Duracion    |

  # ============================================
  # DESCARGA Y COMPARTIR
  # ============================================

  Escenario: Descargar informe como PDF
    Dado que estoy viendo un informe medico
    Cuando hago click en "Descargar PDF"
    Entonces deberia descargarse un archivo PDF
    Y el PDF deberia contener toda la informacion del informe
    Y deberia tener el logo de Amar Mascotas

  Escenario: Imprimir informe
    Dado que estoy viendo un informe medico
    Cuando hago click en "Imprimir"
    Entonces deberia abrirse el dialogo de impresion
    Y el formato deberia ser optimizado para impresion

  # ============================================
  # CASOS ESPECIALES
  # ============================================

  Escenario: Visita completada sin informe cargado
    # El vet no cargo el informe todavia
    Dado que Luna tiene una visita marcada como "Completada"
    Pero el veterinario no cargo el informe aun
    Cuando intento ver el informe
    Entonces deberia ver mensaje "Informe pendiente"
    Y deberia ver "El veterinario esta completando el informe"

  Escenario: Informe con estudios pendientes
    Dado que el informe solicita estudios de laboratorio
    Y los resultados aun no estan disponibles
    Cuando veo el informe
    Entonces deberia ver seccion "Estudios solicitados"
    Y deberia ver estado "Pendiente de resultados"
    Y deberia ver nota "Se notificara cuando esten listos"

  Escenario: Mascota con multiples visitas el mismo dia
    # Raro pero posible: consulta de urgencia + seguimiento
    Dado que Luna tuvo 2 visitas el 15 de enero
    Cuando veo el historial
    Entonces deberia ver ambas visitas listadas
    Y deberian estar diferenciadas por hora

  # ============================================
  # PERMISOS Y PRIVACIDAD
  # ============================================

  Regla: Solo el dueno puede ver el historial de su mascota

    Escenario: Dueno ve historial de su mascota
      Dado que soy dueno de Luna
      Cuando accedo al historial de Luna
      Entonces deberia poder verlo completo

    Escenario: No puedo ver historial de mascota ajena
      Dado que existe mascota "Rocky" de otro dueno
      Cuando intento acceder al historial de Rocky
      Entonces deberia ver error "No tienes acceso"
      # 403 Forbidden

  # ============================================
  # BUSQUEDA Y FILTROS
  # ============================================

  Escenario: Filtrar historial por tipo de servicio
    Dado que Luna tiene visitas de vacunacion y consulta
    Cuando filtro por "Vacunacion"
    Entonces solo deberia ver visitas de vacunacion

  Escenario: Buscar en historial por fecha
    Cuando busco visitas del "2023"
    Entonces solo deberia ver visitas del 2023
    Y no deberia ver visitas del 2024
