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,134 @@
# language: es
# Fuente: album/book/ops-templates/veterinarian/02-gestion-agenda.md
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
# Tests Backend: pytest tests/contracts/mascotas/test_vet_availability.py
# Tests Frontend: npx playwright test vet-schedule.spec.ts
Característica: Gestion de agenda veterinaria
Como veterinario
Quiero gestionar mi calendario y disponibilidad
Para organizar mis visitas a domicilio eficientemente
Antecedentes:
Dado que estoy logueado como veterinario
Y estoy en la seccion "Mi agenda"
# ============================================
# VER AGENDA
# ============================================
Escenario: Ver calendario semanal
Cuando veo mi agenda en vista semanal
Entonces deberia ver los 7 dias de la semana
Y deberia ver mis visitas programadas
Y cada visita deberia mostrar hora y nombre del paciente
Escenario: Ver visitas con codigo de color por estado
Dado que tengo visitas en diferentes estados
Cuando veo mi agenda
Entonces las visitas deberian mostrarse con colores:
| estado | color |
| Coordinado | amarillo |
| Pagado | verde |
| En progreso | azul |
| Completado | gris |
Escenario: Ver detalle de visita desde el calendario
Dado que tengo una visita programada para hoy
Cuando hago click en la visita
Entonces deberia ver popup con:
| campo | valor |
| Hora | 10:00 - 11:00 |
| Dueno | Maria Garcia |
| Direccion | Av Santa Fe 1234 |
| Mascota | Luna (Gato, 3 años) |
| Servicios | Vacunacion, Consulta |
| Estado pago | Pagado |
Y deberia ver boton "Ver detalle completo"
# ============================================
# CONFIGURAR DISPONIBILIDAD SEMANAL
# ============================================
Escenario: Configurar horario laboral
Cuando voy a "Configuracion" -> "Mi disponibilidad"
Y configuro mi horario:
| dia | trabajo | desde | hasta | pausa_desde | pausa_hasta |
| Lunes | Si | 09:00 | 18:00 | 13:00 | 14:00 |
| Martes | Si | 09:00 | 18:00 | 13:00 | 14:00 |
| Miercoles | Si | 09:00 | 18:00 | 13:00 | 14:00 |
| Jueves | Si | 09:00 | 18:00 | 13:00 | 14:00 |
| Viernes | Si | 09:00 | 15:00 | | |
| Sabado | No | | | | |
| Domingo | No | | | | |
Y guardo la configuracion
Entonces mi disponibilidad deberia actualizarse
Y no deberia recibir solicitudes fuera de ese horario
# ============================================
# BLOQUEAR DIAS ESPECIFICOS
# ============================================
Escenario: Marcar dia como no disponible
Dado que necesito el 20 de enero libre
Cuando hago click en el dia 20 de enero en el calendario
Y selecciono "Marcar como no disponible"
Y ingreso motivo "Vacaciones"
Y confirmo
Entonces el dia 20 deberia mostrarse como bloqueado
Y no deberia poder aceptar solicitudes para ese dia
Escenario: Bloquear rango de fechas
Dado que tomo vacaciones del 15 al 22 de enero
Cuando voy a "Agregar indisponibilidad"
Y selecciono fecha inicio "15 de enero"
Y selecciono fecha fin "22 de enero"
Y ingreso motivo "Vacaciones"
Y confirmo
Entonces todos esos dias deberian mostrarse como bloqueados
Escenario: Desbloquear dia
Dado que tengo el 20 de enero bloqueado
Y ya no necesito ese dia libre
Cuando hago click en el dia bloqueado
Y selecciono "Quitar bloqueo"
Entonces el dia deberia estar disponible nuevamente
# ============================================
# IMPACTO EN SOLICITUDES
# ============================================
Regla: Los bloqueos no afectan visitas ya aceptadas
Escenario: Bloquear dia con visita ya aceptada
Dado que tengo una visita aceptada para el 15 de enero
Cuando intento bloquear el 15 de enero
Entonces deberia ver advertencia "Tienes una visita programada ese dia"
Y deberia poder elegir:
| opcion |
| Cancelar el bloqueo |
| Bloquear y contactar al dueno |
Regla: Cambios de disponibilidad solo afectan solicitudes futuras
Escenario: Cambiar horario no afecta visitas existentes
Dado que tengo una visita a las 17:00 el lunes
Cuando cambio mi horario del lunes para terminar a las 16:00
Y guardo los cambios
Entonces la visita de las 17:00 deberia mantenerse
Y deberia ver advertencia sobre la inconsistencia
# ============================================
# NAVEGACION
# ============================================
Escenario: Navegar entre semanas
Cuando hago click en "Semana siguiente"
Entonces deberia ver el calendario de la proxima semana
Y deberia poder volver con "Semana anterior"
Escenario: Ir a fecha especifica
Cuando hago click en el selector de fecha
Y selecciono "15 de marzo"
Entonces deberia ver la semana que contiene el 15 de marzo