# 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 igual a "" Entonces deberia ver error "" 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"