Files
soleprint/atlas/book/gherkin-samples/es/backoffice/02-gestion-usuarios.feature
2025-12-31 09:07:27 -03:00

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