spr migrated books, and tester
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
# language: es
|
||||
# Fuente: album/book/ops-templates/pet-owner/02-reservar-turno.md
|
||||
# Drive: 08. IT y Producto/Funcionalidades Plataforma Veterinario
|
||||
# Tests Backend: pytest tests/contracts/workflows/test_turnero_general.py
|
||||
# Tests Frontend: npx playwright test turnero.spec.ts
|
||||
# Relacionado: def/work_plan/10-flow-turnero.md
|
||||
|
||||
Característica: Reservar turno veterinario (Turnero)
|
||||
|
||||
Como dueno de mascota
|
||||
Quiero reservar un turno veterinario a domicilio
|
||||
Para que atiendan a mi mascota sin salir de casa
|
||||
|
||||
Antecedentes:
|
||||
Dado que estoy en la pagina del turnero
|
||||
|
||||
# ============================================
|
||||
# VERIFICACION DE COBERTURA
|
||||
# ============================================
|
||||
|
||||
Escenario: Verificar cobertura en zona disponible
|
||||
Cuando ingreso direccion "Av Santa Fe 1234, CABA"
|
||||
Entonces deberia ver mensaje "Tenemos cobertura en tu zona"
|
||||
Y deberia poder continuar al siguiente paso
|
||||
|
||||
Escenario: Zona sin cobertura
|
||||
Cuando ingreso direccion "Calle Principal 100, Ushuaia"
|
||||
Entonces deberia ver mensaje "Aun no tenemos cobertura en tu zona"
|
||||
Y deberia ver formulario "Avisame cuando lleguen"
|
||||
|
||||
# ============================================
|
||||
# FLUJO COMPLETO POR TIPO DE USUARIO
|
||||
# ============================================
|
||||
|
||||
Esquema del escenario: Reservar turno como <tipo_usuario>
|
||||
Dado que soy un usuario <tipo_usuario>
|
||||
Y tengo cobertura en mi zona
|
||||
Cuando completo los datos de mi mascota:
|
||||
| campo | valor |
|
||||
| nombre | Luna |
|
||||
| tipo | Gato |
|
||||
| edad | 2 años |
|
||||
| castrada | Si |
|
||||
Y selecciono servicios:
|
||||
| servicio |
|
||||
| Vacunacion |
|
||||
Y selecciono fechas preferidas:
|
||||
| fecha | franja |
|
||||
| 2024-01-15 | Mañana |
|
||||
| 2024-01-16 | Tarde |
|
||||
Y completo datos de contacto con email "<email>"
|
||||
Y envio la solicitud
|
||||
Entonces deberia crearse una solicitud en estado "Pendiente"
|
||||
Y el dueno deberia ser <estado_dueno>
|
||||
Y deberia recibir email de confirmacion
|
||||
|
||||
Ejemplos:
|
||||
| tipo_usuario | email | estado_dueno |
|
||||
| invitado | nuevo@test.com | creado como invitado |
|
||||
| registrado | user@test.com | mi cuenta existente |
|
||||
| recurrente | conocido@test.com | identificado por email |
|
||||
|
||||
# ============================================
|
||||
# SELECCION DE SERVICIOS
|
||||
# ============================================
|
||||
|
||||
Escenario: Servicios filtrados por tipo de mascota
|
||||
Dado que agregue una mascota tipo "Gato"
|
||||
Cuando veo los servicios disponibles
|
||||
Entonces deberia ver "Vacuna triple felina"
|
||||
Y deberia ver "Vacuna antirabica"
|
||||
Pero no deberia ver "Vacuna sextuple canina"
|
||||
|
||||
Escenario: Consulta clinica se agrega automaticamente con vacunacion
|
||||
Dado que estoy seleccionando servicios
|
||||
Cuando selecciono "Vacunacion"
|
||||
Entonces "Consulta clinica" deberia agregarse automaticamente
|
||||
Y deberia ver nota "Incluye revision general"
|
||||
Y no deberia poder quitar "Consulta clinica"
|
||||
|
||||
Escenario: Servicios combo con descuento
|
||||
Dado que estoy seleccionando servicios
|
||||
Cuando agrego los siguientes servicios:
|
||||
| servicio |
|
||||
| Vacunacion |
|
||||
| Desparasitacion |
|
||||
| Antipulgas |
|
||||
Entonces deberia ver "Plan preventivo completo"
|
||||
Y el total deberia incluir descuento de combo
|
||||
|
||||
Escenario: Castracion no disponible para mascota castrada
|
||||
Dado que mi mascota esta marcada como castrada
|
||||
Cuando veo los servicios disponibles
|
||||
Entonces no deberia ver "Castracion"
|
||||
|
||||
# ============================================
|
||||
# DATOS DE CONTACTO Y CUENTA
|
||||
# ============================================
|
||||
|
||||
Escenario: Pre-llenado de datos para usuario logueado
|
||||
Dado que estoy logueado como "maria@ejemplo.com"
|
||||
Y tengo registrada mascota "Firulais"
|
||||
Cuando inicio el flujo de turnero
|
||||
Entonces mi direccion deberia estar pre-llenada
|
||||
Y deberia poder seleccionar "Firulais" de mis mascotas
|
||||
Y mis datos de contacto ya deberian estar completos
|
||||
|
||||
Escenario: Detectar usuario existente por email
|
||||
Dado que soy usuario invitado
|
||||
Y existe una cuenta con email "existente@ejemplo.com"
|
||||
Cuando ingreso email "existente@ejemplo.com" en datos de contacto
|
||||
Entonces deberia ver "Ya tenes cuenta con este email"
|
||||
Y deberia ver opciones:
|
||||
| opcion |
|
||||
| Iniciar sesion |
|
||||
| Continuar como invitado |
|
||||
|
||||
# ============================================
|
||||
# EDGE CASES
|
||||
# ============================================
|
||||
|
||||
Escenario: Usuario abandona flujo a mitad
|
||||
Dado que complete los datos de mascota
|
||||
Y cerre el navegador sin enviar
|
||||
Cuando vuelvo a la pagina del turnero
|
||||
Entonces deberia poder recuperar mi progreso
|
||||
# Nota: datos guardados en localStorage o session
|
||||
|
||||
Escenario: Multiples mascotas en una solicitud
|
||||
Dado que quiero atender a 2 mascotas
|
||||
Cuando agrego mascota "Luna" tipo "Gato"
|
||||
Y agrego mascota "Rocky" tipo "Perro"
|
||||
Y selecciono servicios para cada una
|
||||
Entonces deberia crearse una solicitud con 2 mascotas
|
||||
Y el precio deberia reflejar ambas
|
||||
|
||||
Escenario: Franja horaria especifica
|
||||
Dado que solo puedo por la mañana
|
||||
Cuando selecciono franja "Mañana (9-12hs)"
|
||||
Entonces la solicitud deberia registrar esa preferencia
|
||||
# Nota: Es preferencia, no garantia
|
||||
Reference in New Issue
Block a user