spr migrated books, and tester

This commit is contained in:
buenosairesam
2025-12-31 09:07:27 -03:00
parent 21b8eab3cb
commit cccc6b5a93
136 changed files with 15763 additions and 472 deletions

View File

@@ -0,0 +1,127 @@
# Fuente: album/book/ops-templates/veterinarian/03-realizar-visita.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-visit.spec.ts
Feature: Realizar visita y crear informe medico
Como veterinario
Quiero registrar la atencion medica de mis visitas
Para mantener el historial clinico del paciente
Background:
Given que estoy logueado como veterinario
And tengo una visita programada para hoy con mascota "Luna"
And la visita esta en estado "Pagado"
# ============================================
# INICIAR VISITA
# ============================================
Scenario: Ver informacion antes de la visita
When accedo al detalle de la visita
Then deberia ver la direccion para llegar
And deberia ver el telefono del dueno para confirmar
And deberia ver los servicios a realizar
And deberia ver el historial previo de Luna
Scenario: Iniciar visita al llegar
Given que llegue al domicilio
When hago click en "Iniciar visita"
Then el estado deberia cambiar a "En progreso"
And deberia registrarse la hora de inicio
And deberia habilitarse el boton "Crear informe"
# ============================================
# CREAR INFORME MEDICO
# ============================================
Scenario: Completar informe con examen fisico
Given que la visita esta en progreso
When voy a "Crear informe"
And completo el examen fisico:
| campo | valor |
| Peso | 4.5 kg |
| Temperatura | 38.5 °C |
| Frecuencia cardiaca | 120 lpm |
| Frecuencia resp | 25 rpm |
| Mucosas | Rosadas |
| Hidratacion | Normal |
And guardo el informe
Then el examen fisico deberia guardarse
Scenario: Agregar diagnostico y tratamiento
Given que complete el examen fisico
When agrego el diagnostico:
"""
Otitis externa bilateral leve.
Paciente presenta prurito y secrecion ceruminosa.
Sin signos de infeccion secundaria.
"""
And agrego el tratamiento:
"""
Limpieza de oidos con solucion fisiologica.
Aplicacion de gotas oticas antibioticas.
Control en 7 dias.
"""
And guardo el informe
Then el diagnostico y tratamiento deberian guardarse
Scenario: Recetar medicamentos
Given que estoy creando el informe
When agrego medicamentos:
| nombre | dosis | frecuencia | duracion |
| Otomax gotas | 5 gotas | cada 12 horas | 7 dias |
| Meloxicam 1.5mg | 1 comp | cada 24 horas | 3 dias |
And guardo el informe
Then los medicamentos deberian aparecer en el informe
And el dueno podra verlos desde su cuenta
# ============================================
# COMPLETAR VISITA
# ============================================
Scenario: Completar visita con informe
Given que el informe esta completo
When hago click en "Completar visita"
And confirmo la finalizacion
Then la visita deberia pasar a estado "Completado"
And deberia generarse factura electronica (AFIP)
And el dueno deberia recibir notificacion
And el informe deberia ser visible para el dueno
Scenario: No puedo completar sin informe
Given que la visita esta en progreso
But no cree ningun informe
When intento completar la visita
Then deberia ver error "Debes crear el informe antes de completar"
# ============================================
# GUARDADO AUTOMATICO
# ============================================
Rule: El informe se guarda automaticamente
Scenario: Guardado automatico cada 30 segundos
Given que estoy escribiendo el informe
When pasan 30 segundos
Then deberia ver indicador "Guardado automaticamente"
Scenario: Recuperar informe despues de desconexion
Given que estaba escribiendo el informe
And perdi conexion a internet
When recupero la conexion
Then deberia recuperar mi progreso
And no deberia perder lo que escribi
# ============================================
# CASOS ESPECIALES
# ============================================
Scenario: Cancelar visita in situ
Given que llegue al domicilio
But el dueno no esta
When marco la visita como "Cancelada in situ"
And selecciono motivo "Dueno ausente"
Then la visita deberia marcarse como cancelada
And deberia generarse cargo por visita fallida