fastapi-mariadb / test_funel_simple.py
Moibe's picture
Tabla funel_compra
fd0df2b
"""Test rápido de funciones del funel de compra"""
import logging
from models import FunelCompraRequest
from funciones import crear_evento_funel, obtener_eventos_funel, obtener_todos_eventos_funel
logging.basicConfig(level=logging.INFO, format='%(message)s')
logger = logging.getLogger(__name__)
print("\n" + "=" * 80)
print("TEST 1: Crear evento funel")
print("=" * 80)
evento1 = FunelCompraRequest(
usuario="moibe",
mail="moi.estrello@gmail.com",
accion="inicio"
)
resultado = crear_evento_funel(evento1)
print(f"Resultado: {resultado}\n")
print("=" * 80)
print("TEST 2: Crear más eventos")
print("=" * 80)
eventos_data = [
("moibe", "moi.estrello@gmail.com", "visualizacion"),
("moibe", "moi.estrello@gmail.com", "intento_compra"),
("moibe", "moi.estrello@gmail.com", "compra_exitosa"),
("juan_perez", "juan@example.com", "inicio"),
("juan_perez", "juan@example.com", "visualizacion"),
("juan_perez", "juan@example.com", "abandono"),
]
for usuario, mail, accion in eventos_data:
evento = FunelCompraRequest(usuario=usuario, mail=mail, accion=accion)
resultado = crear_evento_funel(evento)
if resultado['success']:
print(f"✅ Evento creado: {accion} para {usuario}")
else:
print(f"❌ Error: {resultado['error']}")
print("\n" + "=" * 80)
print("TEST 3: Obtener eventos de un usuario")
print("=" * 80)
resultado = obtener_eventos_funel("moibe")
print(f"Total eventos para moibe: {resultado['total']}")
for evento in resultado['data']:
print(f" - {evento['accion']} ({evento['created_at']})")
print("\n" + "=" * 80)
print("TEST 4: Obtener todos los eventos (paginación)")
print("=" * 80)
resultado = obtener_todos_eventos_funel(limit=5, offset=0)
print(f"Total eventos: {resultado['total']}")
print(f"Mostrando: {len(resultado['data'])} de {resultado['total']}")
for evento in resultado['data']:
print(f" - {evento['usuario']}: {evento['accion']}")
print("\n" + "=" * 80)
print("✅ TODOS LOS TESTS COMPLETADOS")
print("=" * 80 + "\n")