major restructure
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
# 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
|
||||
|
||||
Feature: Gestion de mascotas
|
||||
|
||||
Como dueno de mascota registrado
|
||||
Quiero gestionar la informacion de mis mascotas
|
||||
Para tenerla actualizada y acceder a su historial medico
|
||||
|
||||
Background:
|
||||
Given que estoy logueado como dueno de mascota
|
||||
And estoy en la seccion "Mis mascotas"
|
||||
|
||||
# ============================================
|
||||
# AGREGAR MASCOTA
|
||||
# ============================================
|
||||
|
||||
Scenario: Agregar mascota con datos minimos
|
||||
When hago click en "Agregar mascota"
|
||||
And completo el formulario:
|
||||
| campo | valor |
|
||||
| nombre | Luna |
|
||||
| tipo | Gato |
|
||||
And hago click en "Guardar"
|
||||
Then deberia ver "Luna" en mi lista de mascotas
|
||||
And Luna deberia aparecer disponible en el turnero
|
||||
|
||||
Scenario: Agregar mascota con datos completos
|
||||
When hago click en "Agregar mascota"
|
||||
And completo el formulario:
|
||||
| campo | valor |
|
||||
| nombre | Rocky |
|
||||
| tipo | Perro |
|
||||
| raza | Labrador |
|
||||
| fecha_nacimiento | 2020-03-15 |
|
||||
| peso | 25 |
|
||||
| sexo | Macho |
|
||||
| castrado | Si |
|
||||
And subo una foto de Rocky
|
||||
And hago click en "Guardar"
|
||||
Then deberia ver "Rocky" con su foto en mi lista
|
||||
And deberia ver badge "Castrado"
|
||||
|
||||
Scenario Outline: Validacion de datos de mascota
|
||||
When intento agregar mascota con <campo> igual a "<valor>"
|
||||
Then deberia ver error "<mensaje>"
|
||||
|
||||
Examples:
|
||||
| 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
|
||||
# ============================================
|
||||
|
||||
Scenario: Editar peso de mascota
|
||||
Given que tengo una mascota "Luna" con peso 4kg
|
||||
When edito a Luna
|
||||
And cambio el peso a 5kg
|
||||
And guardo los cambios
|
||||
Then Luna deberia mostrar peso "5 kg"
|
||||
|
||||
Scenario: Marcar mascota como castrada
|
||||
Given que tengo una mascota "Rocky" no castrado
|
||||
When edito a Rocky
|
||||
And marco "Esta castrado"
|
||||
And guardo los cambios
|
||||
Then Rocky deberia mostrar badge "Castrado"
|
||||
And el servicio "Castracion" no deberia aparecer para Rocky en el turnero
|
||||
|
||||
Scenario: Actualizar foto de mascota
|
||||
Given que tengo una mascota "Luna" sin foto
|
||||
When edito a Luna
|
||||
And subo una nueva foto
|
||||
And guardo los cambios
|
||||
Then deberia ver la foto de Luna en su tarjeta
|
||||
|
||||
# ============================================
|
||||
# ELIMINAR MASCOTA
|
||||
# ============================================
|
||||
|
||||
Scenario: Eliminar mascota sin historial
|
||||
Given que tengo una mascota "Nuevo" sin visitas
|
||||
When hago click en "Eliminar" para Nuevo
|
||||
And confirmo la eliminacion
|
||||
Then Nuevo no deberia aparecer en mi lista
|
||||
# Nota: Es soft delete
|
||||
|
||||
Scenario: Eliminar mascota con historial medico
|
||||
Given que tengo una mascota "Luna" con visitas anteriores
|
||||
When hago click en "Eliminar" para Luna
|
||||
Then deberia ver advertencia "Luna tiene historial medico"
|
||||
And deberia ver "El historial se conservara pero no podras verlo"
|
||||
When confirmo la eliminacion
|
||||
Then Luna no deberia aparecer en mi lista
|
||||
|
||||
Scenario: No puedo eliminar mascota con turno pendiente
|
||||
Given que tengo una mascota "Rocky" con turno pendiente
|
||||
When intento eliminar a Rocky
|
||||
Then deberia ver error "Rocky tiene turnos pendientes"
|
||||
And deberia ver sugerencia "Cancela los turnos primero"
|
||||
|
||||
# ============================================
|
||||
# VER HISTORIAL MEDICO
|
||||
# ============================================
|
||||
|
||||
Scenario: Ver historial de visitas de mascota
|
||||
Given que tengo una mascota "Luna" con 3 visitas completadas
|
||||
When hago click en Luna
|
||||
And voy a la seccion "Historial"
|
||||
Then deberia ver 3 visitas listadas
|
||||
And deberian estar ordenadas por fecha descendente
|
||||
|
||||
Scenario: Ver detalle de visita
|
||||
Given que tengo una mascota "Luna" con visitas
|
||||
When veo el historial de Luna
|
||||
And hago click en la primera visita
|
||||
Then deberia ver:
|
||||
| campo |
|
||||
| Fecha |
|
||||
| Veterinario |
|
||||
| Diagnostico |
|
||||
| Tratamiento |
|
||||
| Medicamentos |
|
||||
|
||||
Scenario: Mascota sin historial
|
||||
Given que tengo una mascota "Nuevo" recien agregada
|
||||
When veo el perfil de Nuevo
|
||||
Then la seccion "Historial" deberia estar vacia
|
||||
And deberia ver mensaje "Aun no hay visitas registradas"
|
||||
And deberia ver boton "Reservar primer turno"
|
||||
|
||||
# ============================================
|
||||
# CASOS ESPECIALES
|
||||
# ============================================
|
||||
|
||||
Scenario: Mascota heredada de cuenta invitado
|
||||
Given que me registre con email "juan@test.com"
|
||||
And previamente reserve turno como invitado para "Firulais"
|
||||
When voy a "Mis mascotas"
|
||||
Then deberia ver "Firulais" en mi lista
|
||||
And deberia ver su historial de visitas previas
|
||||
|
||||
Scenario: Razas filtradas por tipo
|
||||
When agrego una mascota tipo "Gato"
|
||||
Then las razas disponibles deberian ser razas de gato
|
||||
And no deberia ver razas de perro como "Labrador"
|
||||
Reference in New Issue
Block a user