# 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 "" Entonces solo deberia ver usuarios 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