132 lines
4.6 KiB
Gherkin
132 lines
4.6 KiB
Gherkin
# language: es
|
|
# Fuente: album/book/ops-templates/backoffice/02-gestion-usuarios.md
|
|
# Drive: 05. ATC - Operaciones/Procedimientos
|
|
# Tests Backend: pytest tests/contracts/mascotas/test_pet_owners.py
|
|
# Tests Frontend: npx playwright test admin-users.spec.ts
|
|
|
|
Característica: Gestion de usuarios
|
|
|
|
Como administrador del backoffice
|
|
Quiero gestionar duenos y veterinarios
|
|
Para mantener la base de usuarios actualizada
|
|
|
|
Antecedentes:
|
|
Dado que estoy logueado como administrador
|
|
Y estoy en el backoffice
|
|
|
|
# ============================================
|
|
# GESTION DE DUENOS
|
|
# ============================================
|
|
|
|
Escenario: Buscar dueno de mascota
|
|
Dado que estoy en la seccion "Duenos"
|
|
Cuando busco "maria@ejemplo.com"
|
|
Entonces deberia ver a Maria Garcia en los resultados
|
|
Y deberia ver sus mascotas listadas
|
|
Y deberia ver cantidad de turnos
|
|
|
|
Escenario: Ver perfil completo de dueno
|
|
Dado que encontre a "Maria Garcia"
|
|
Cuando hago click en su perfil
|
|
Entonces deberia ver:
|
|
| seccion | contenido |
|
|
| Datos personales | Nombre, email, telefono |
|
|
| Direcciones | Direcciones registradas |
|
|
| Mascotas | Lista de mascotas |
|
|
| Historial | Solicitudes anteriores |
|
|
| Pagos | Historial de pagos |
|
|
|
|
Escenario: Editar datos de dueno
|
|
Dado que estoy viendo el perfil de un dueno
|
|
Cuando hago click en "Editar"
|
|
Y cambio el telefono a "1155559999"
|
|
Y guardo los cambios
|
|
Entonces el telefono deberia actualizarse
|
|
Y deberia registrarse quien hizo el cambio
|
|
|
|
Esquema del escenario: Filtrar duenos por tipo
|
|
Dado que estoy en la lista de duenos
|
|
Cuando filtro por tipo "<tipo>"
|
|
Entonces solo deberia ver usuarios <tipo>
|
|
|
|
Ejemplos:
|
|
| tipo |
|
|
| Registrados |
|
|
| Invitados |
|
|
|
|
# ============================================
|
|
# GESTION DE VETERINARIOS
|
|
# ============================================
|
|
|
|
Escenario: Ver lista de veterinarios
|
|
Cuando voy a la seccion "Veterinarios"
|
|
Entonces deberia ver listado de todos los vets
|
|
Y cada vet deberia mostrar:
|
|
| campo |
|
|
| Nombre |
|
|
| Matricula |
|
|
| Zonas |
|
|
| Estado |
|
|
| Visitas mes |
|
|
|
|
Escenario: Agregar nuevo veterinario
|
|
Dado que estoy en la seccion "Veterinarios"
|
|
Cuando hago click en "Agregar veterinario"
|
|
Y completo los datos:
|
|
| campo | valor |
|
|
| Nombre | Dr. Juan Perez |
|
|
| Matricula | MV-12345 |
|
|
| Email | jperez@ejemplo.com |
|
|
| Telefono | 1155551234 |
|
|
| Especialidades | Clinica general |
|
|
Y selecciono zonas de cobertura:
|
|
| zona |
|
|
| Palermo |
|
|
| Recoleta |
|
|
Y genero credenciales de acceso
|
|
Y guardo
|
|
Entonces deberia crearse el veterinario
|
|
Y deberia poder loguearse con sus credenciales
|
|
|
|
Escenario: Desactivar veterinario sin citas pendientes
|
|
Dado que el veterinario "Dr. Lopez" no tiene citas pendientes
|
|
Cuando abro su perfil
|
|
Y hago click en "Desactivar"
|
|
Y confirmo la desactivacion
|
|
Entonces Dr. Lopez deberia estar inactivo
|
|
Y no deberia recibir nuevas solicitudes
|
|
Y no deberia poder loguearse
|
|
|
|
Escenario: Intentar desactivar veterinario con citas pendientes
|
|
Dado que el veterinario "Dra. Garcia" tiene 3 citas pendientes
|
|
Cuando intento desactivarla
|
|
Entonces deberia ver advertencia "Tiene 3 citas pendientes"
|
|
Y deberia ver opciones:
|
|
| opcion |
|
|
| Reasignar citas y desactivar |
|
|
| Cancelar |
|
|
|
|
# ============================================
|
|
# CASOS ESPECIALES
|
|
# ============================================
|
|
|
|
Escenario: Fusionar cuentas duplicadas
|
|
Dado que hay dos cuentas para el mismo dueno:
|
|
| cuenta | email | mascotas |
|
|
| Cuenta1 | maria@gmail.com | Luna |
|
|
| Cuenta2 | maria@hotmail.com | Rocky |
|
|
Cuando selecciono ambas cuentas
|
|
Y hago click en "Fusionar"
|
|
Y elijo Cuenta1 como principal
|
|
Y confirmo
|
|
Entonces deberia existir solo Cuenta1
|
|
Y deberia tener ambas mascotas
|
|
Y el historial deberia combinarse
|
|
|
|
Escenario: Convertir invitado a registrado
|
|
Dado que hay un usuario invitado con email "invitado@test.com"
|
|
Cuando abro su perfil
|
|
Y hago click en "Enviar invitacion a registrarse"
|
|
Entonces deberia enviarse email con link de registro
|
|
Y el usuario podra crear contraseña y activar cuenta
|