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,154 @@
# language: es
# Fuente: album/book/ops-templates/pet-owner/03-gestion-mascotas.md
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
# Tests Backend: pytest tests/contracts/mascotas/test_pets.py
# Tests Frontend: npx playwright test pets.spec.ts
Característica: Gestion de mascotas
Como dueno de mascota registrado
Quiero gestionar la informacion de mis mascotas
Para tenerla actualizada y acceder a su historial medico
Antecedentes:
Dado que estoy logueado como dueno de mascota
Y estoy en la seccion "Mis mascotas"
# ============================================
# AGREGAR MASCOTA
# ============================================
Escenario: Agregar mascota con datos minimos
Cuando hago click en "Agregar mascota"
Y completo el formulario:
| campo | valor |
| nombre | Luna |
| tipo | Gato |
Y hago click en "Guardar"
Entonces deberia ver "Luna" en mi lista de mascotas
Y Luna deberia aparecer disponible en el turnero
Escenario: Agregar mascota con datos completos
Cuando hago click en "Agregar mascota"
Y completo el formulario:
| campo | valor |
| nombre | Rocky |
| tipo | Perro |
| raza | Labrador |
| fecha_nacimiento | 2020-03-15 |
| peso | 25 |
| sexo | Macho |
| castrado | Si |
Y subo una foto de Rocky
Y hago click en "Guardar"
Entonces deberia ver "Rocky" con su foto en mi lista
Y deberia ver badge "Castrado"
Esquema del escenario: Validacion de datos de mascota
Cuando intento agregar mascota con <campo> igual a "<valor>"
Entonces deberia ver error "<mensaje>"
Ejemplos:
| campo | valor | mensaje |
| nombre | | El nombre es obligatorio |
| nombre | A | Nombre muy corto |
| tipo | | Selecciona el tipo |
| peso | -5 | El peso debe ser positivo |
| peso | 500 | Peso fuera de rango |
# ============================================
# EDITAR MASCOTA
# ============================================
Escenario: Editar peso de mascota
Dado que tengo una mascota "Luna" con peso 4kg
Cuando edito a Luna
Y cambio el peso a 5kg
Y guardo los cambios
Entonces Luna deberia mostrar peso "5 kg"
Escenario: Marcar mascota como castrada
Dado que tengo una mascota "Rocky" no castrado
Cuando edito a Rocky
Y marco "Esta castrado"
Y guardo los cambios
Entonces Rocky deberia mostrar badge "Castrado"
Y el servicio "Castracion" no deberia aparecer para Rocky en el turnero
Escenario: Actualizar foto de mascota
Dado que tengo una mascota "Luna" sin foto
Cuando edito a Luna
Y subo una nueva foto
Y guardo los cambios
Entonces deberia ver la foto de Luna en su tarjeta
# ============================================
# ELIMINAR MASCOTA
# ============================================
Escenario: Eliminar mascota sin historial
Dado que tengo una mascota "Nuevo" sin visitas
Cuando hago click en "Eliminar" para Nuevo
Y confirmo la eliminacion
Entonces Nuevo no deberia aparecer en mi lista
# Nota: Es soft delete
Escenario: Eliminar mascota con historial medico
Dado que tengo una mascota "Luna" con visitas anteriores
Cuando hago click en "Eliminar" para Luna
Entonces deberia ver advertencia "Luna tiene historial medico"
Y deberia ver "El historial se conservara pero no podras verlo"
Cuando confirmo la eliminacion
Entonces Luna no deberia aparecer en mi lista
Escenario: No puedo eliminar mascota con turno pendiente
Dado que tengo una mascota "Rocky" con turno pendiente
Cuando intento eliminar a Rocky
Entonces deberia ver error "Rocky tiene turnos pendientes"
Y deberia ver sugerencia "Cancela los turnos primero"
# ============================================
# VER HISTORIAL MEDICO
# ============================================
Escenario: Ver historial de visitas de mascota
Dado que tengo una mascota "Luna" con 3 visitas completadas
Cuando hago click en Luna
Y voy a la seccion "Historial"
Entonces deberia ver 3 visitas listadas
Y deberian estar ordenadas por fecha descendente
Escenario: Ver detalle de visita
Dado que tengo una mascota "Luna" con visitas
Cuando veo el historial de Luna
Y hago click en la primera visita
Entonces deberia ver:
| campo |
| Fecha |
| Veterinario |
| Diagnostico |
| Tratamiento |
| Medicamentos |
Escenario: Mascota sin historial
Dado que tengo una mascota "Nuevo" recien agregada
Cuando veo el perfil de Nuevo
Entonces la seccion "Historial" deberia estar vacia
Y deberia ver mensaje "Aun no hay visitas registradas"
Y deberia ver boton "Reservar primer turno"
# ============================================
# CASOS ESPECIALES
# ============================================
Escenario: Mascota heredada de cuenta invitado
Dado que me registre con email "juan@test.com"
Y previamente reserve turno como invitado para "Firulais"
Cuando voy a "Mis mascotas"
Entonces deberia ver "Firulais" en mi lista
Y deberia ver su historial de visitas previas
Escenario: Razas filtradas por tipo
Cuando agrego una mascota tipo "Gato"
Entonces las razas disponibles deberian ser razas de gato
Y no deberia ver razas de perro como "Labrador"