spr migrated books, and tester
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
# 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
|
||||
|
||||
Feature: 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
|
||||
|
||||
Background:
|
||||
Given que estoy en la pagina del turnero
|
||||
|
||||
# ============================================
|
||||
# VERIFICACION DE COBERTURA
|
||||
# ============================================
|
||||
|
||||
Scenario: Verificar cobertura en zona disponible
|
||||
When ingreso direccion "Av Santa Fe 1234, CABA"
|
||||
Then deberia ver mensaje "Tenemos cobertura en tu zona"
|
||||
And deberia poder continuar al siguiente paso
|
||||
|
||||
Scenario: Zona sin cobertura
|
||||
When ingreso direccion "Calle Principal 100, Ushuaia"
|
||||
Then deberia ver mensaje "Aun no tenemos cobertura en tu zona"
|
||||
And deberia ver formulario "Avisame cuando lleguen"
|
||||
|
||||
# ============================================
|
||||
# FLUJO COMPLETO POR TIPO DE USUARIO
|
||||
# ============================================
|
||||
|
||||
Scenario Outline: Reservar turno como <tipo_usuario>
|
||||
Given que soy un usuario <tipo_usuario>
|
||||
And tengo cobertura en mi zona
|
||||
When completo los datos de mi mascota:
|
||||
| campo | valor |
|
||||
| nombre | Luna |
|
||||
| tipo | Gato |
|
||||
| edad | 2 años |
|
||||
| castrada | Si |
|
||||
And selecciono servicios:
|
||||
| servicio |
|
||||
| Vacunacion |
|
||||
And selecciono fechas preferidas:
|
||||
| fecha | franja |
|
||||
| 2024-01-15 | Mañana |
|
||||
| 2024-01-16 | Tarde |
|
||||
And completo datos de contacto con email "<email>"
|
||||
And envio la solicitud
|
||||
Then deberia crearse una solicitud en estado "Pendiente"
|
||||
And el dueno deberia ser <estado_dueno>
|
||||
And deberia recibir email de confirmacion
|
||||
|
||||
Examples:
|
||||
| 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
|
||||
# ============================================
|
||||
|
||||
Scenario: Servicios filtrados por tipo de mascota
|
||||
Given que agregue una mascota tipo "Gato"
|
||||
When veo los servicios disponibles
|
||||
Then deberia ver "Vacuna triple felina"
|
||||
And deberia ver "Vacuna antirabica"
|
||||
But no deberia ver "Vacuna sextuple canina"
|
||||
|
||||
Scenario: Consulta clinica se agrega automaticamente con vacunacion
|
||||
Given que estoy seleccionando servicios
|
||||
When selecciono "Vacunacion"
|
||||
Then "Consulta clinica" deberia agregarse automaticamente
|
||||
And deberia ver nota "Incluye revision general"
|
||||
And no deberia poder quitar "Consulta clinica"
|
||||
|
||||
Scenario: Servicios combo con descuento
|
||||
Given que estoy seleccionando servicios
|
||||
When agrego los siguientes servicios:
|
||||
| servicio |
|
||||
| Vacunacion |
|
||||
| Desparasitacion |
|
||||
| Antipulgas |
|
||||
Then deberia ver "Plan preventivo completo"
|
||||
And el total deberia incluir descuento de combo
|
||||
|
||||
Scenario: Castracion no disponible para mascota castrada
|
||||
Given que mi mascota esta marcada como castrada
|
||||
When veo los servicios disponibles
|
||||
Then no deberia ver "Castracion"
|
||||
|
||||
# ============================================
|
||||
# DATOS DE CONTACTO Y CUENTA
|
||||
# ============================================
|
||||
|
||||
Scenario: Pre-llenado de datos para usuario logueado
|
||||
Given que estoy logueado como "maria@ejemplo.com"
|
||||
And tengo registrada mascota "Firulais"
|
||||
When inicio el flujo de turnero
|
||||
Then mi direccion deberia estar pre-llenada
|
||||
And deberia poder seleccionar "Firulais" de mis mascotas
|
||||
And mis datos de contacto ya deberian estar completos
|
||||
|
||||
Scenario: Detectar usuario existente por email
|
||||
Given que soy usuario invitado
|
||||
And existe una cuenta con email "existente@ejemplo.com"
|
||||
When ingreso email "existente@ejemplo.com" en datos de contacto
|
||||
Then deberia ver "Ya tenes cuenta con este email"
|
||||
And deberia ver opciones:
|
||||
| opcion |
|
||||
| Iniciar sesion |
|
||||
| Continuar como invitado |
|
||||
|
||||
# ============================================
|
||||
# EDGE CASES
|
||||
# ============================================
|
||||
|
||||
Scenario: Usuario abandona flujo a mitad
|
||||
Given que complete los datos de mascota
|
||||
And cerre el navegador sin enviar
|
||||
When vuelvo a la pagina del turnero
|
||||
Then deberia poder recuperar mi progreso
|
||||
# Nota: datos guardados en localStorage o session
|
||||
|
||||
Scenario: Multiples mascotas en una solicitud
|
||||
Given que quiero atender a 2 mascotas
|
||||
When agrego mascota "Luna" tipo "Gato"
|
||||
And agrego mascota "Rocky" tipo "Perro"
|
||||
And selecciono servicios para cada una
|
||||
Then deberia crearse una solicitud con 2 mascotas
|
||||
And el precio deberia reflejar ambas
|
||||
|
||||
Scenario: Franja horaria especifica
|
||||
Given que solo puedo por la mañana
|
||||
When selecciono franja "Mañana (9-12hs)"
|
||||
Then la solicitud deberia registrar esa preferencia
|
||||
# Nota: Es preferencia, no garantia
|
||||
Reference in New Issue
Block a user