132 lines
4.6 KiB
Gherkin
132 lines
4.6 KiB
Gherkin
# language: es
|
|
# Fuente: album/book/ops-templates/backoffice/03-gestion-servicios.md
|
|
# Drive: 08. IT y Producto/Catalogo Servicios
|
|
# Tests Backend: pytest tests/contracts/productos/test_services.py
|
|
# Tests Frontend: npx playwright test admin-services.spec.ts
|
|
|
|
Característica: Gestion de servicios y precios
|
|
|
|
Como administrador
|
|
Quiero gestionar el catalogo de servicios
|
|
Para mantener la oferta actualizada
|
|
|
|
Antecedentes:
|
|
Dado que estoy logueado como administrador
|
|
Y estoy en la seccion "Servicios"
|
|
|
|
# ============================================
|
|
# VER CATALOGO DE SERVICIOS
|
|
# ============================================
|
|
|
|
Escenario: Ver listado de servicios
|
|
Cuando cargo la pagina de servicios
|
|
Entonces deberia ver todos los servicios organizados por categoria
|
|
Y cada servicio deberia mostrar:
|
|
| campo |
|
|
| Nombre |
|
|
| Categoria |
|
|
| Tipo mascota |
|
|
| Precio actual |
|
|
| Estado |
|
|
|
|
Esquema del escenario: Filtrar servicios
|
|
Cuando filtro por <filtro> "<valor>"
|
|
Entonces solo deberia ver servicios que coincidan
|
|
|
|
Ejemplos:
|
|
| filtro | valor |
|
|
| categoria | Vacunacion |
|
|
| tipo_mascota | Gato |
|
|
| estado | Activo |
|
|
|
|
# ============================================
|
|
# CREAR Y EDITAR SERVICIOS
|
|
# ============================================
|
|
|
|
Escenario: Agregar nuevo servicio
|
|
Cuando hago click en "Agregar servicio"
|
|
Y completo los datos:
|
|
| campo | valor |
|
|
| Nombre | Vacuna Quintuple Felina |
|
|
| Descripcion | Protege contra 5 enfermedades |
|
|
| Categoria | Vacunacion |
|
|
| Tipo mascota | Gato |
|
|
| Precio | 15000 |
|
|
| Duracion | 30 minutos |
|
|
Y guardo el servicio
|
|
Entonces el servicio deberia crearse
|
|
Y deberia aparecer en el turnero para gatos
|
|
|
|
Escenario: Editar servicio existente
|
|
Dado que existe el servicio "Consulta clinica"
|
|
Cuando abro el servicio
|
|
Y cambio la descripcion
|
|
Y guardo
|
|
Entonces la descripcion deberia actualizarse
|
|
Y las solicitudes existentes no deberian afectarse
|
|
|
|
Escenario: Desactivar servicio
|
|
Dado que existe el servicio "Servicio Antiguo"
|
|
Cuando abro el servicio
|
|
Y hago click en "Desactivar"
|
|
Y confirmo
|
|
Entonces el servicio no deberia aparecer en el turnero
|
|
Y las solicitudes existentes deberian mantenerse
|
|
|
|
# ============================================
|
|
# GESTION DE PRECIOS
|
|
# ============================================
|
|
|
|
Escenario: Actualizar precio de servicio
|
|
Dado que "Consulta clinica" tiene precio actual de 10000
|
|
Cuando abro el servicio
|
|
Y voy a la seccion "Precios"
|
|
Y hago click en "Agregar precio"
|
|
Y ingreso nuevo precio 12000
|
|
Y selecciono fecha de vigencia "01/02/2024"
|
|
Y guardo
|
|
Entonces deberia crearse el nuevo precio
|
|
Y el precio anterior deberia quedar en historial
|
|
Y el nuevo precio deberia aplicar desde la fecha indicada
|
|
|
|
Escenario: Ver historial de precios
|
|
Dado que un servicio tuvo varios cambios de precio
|
|
Cuando veo la seccion "Precios"
|
|
Entonces deberia ver historial con:
|
|
| campo |
|
|
| Precio |
|
|
| Fecha desde |
|
|
| Fecha hasta |
|
|
| Usuario |
|
|
|
|
Regla: El precio se congela al crear la solicitud
|
|
|
|
Escenario: Cambio de precio no afecta solicitudes existentes
|
|
Dado que hay una solicitud pendiente con "Consulta clinica" a 10000
|
|
Cuando cambio el precio de "Consulta clinica" a 12000
|
|
Entonces la solicitud deberia mantener el precio de 10000
|
|
|
|
# ============================================
|
|
# CONFIGURAR COMBOS Y DEPENDENCIAS
|
|
# ============================================
|
|
|
|
Escenario: Crear combo de servicios
|
|
Cuando voy a "Combos"
|
|
Y hago click en "Agregar combo"
|
|
Y configuro:
|
|
| campo | valor |
|
|
| Nombre | Plan Preventivo Felino |
|
|
| Servicios | Vacunacion, Desparasitacion, Antipulgas |
|
|
| Precio combo | 25000 |
|
|
| Descuento | 20% |
|
|
Y guardo
|
|
Entonces el combo deberia crearse
|
|
Y deberia aplicarse automaticamente cuando se seleccionen esos servicios
|
|
|
|
Escenario: Configurar servicio dependiente
|
|
Dado que "Vacunacion" requiere "Consulta clinica"
|
|
Cuando configuro la dependencia
|
|
Entonces al seleccionar "Vacunacion" en el turnero
|
|
Y "Consulta clinica" deberia agregarse automaticamente
|
|
Y no deberia poder quitarse
|