SMART CONNECTION
Banco · Calidad
Documento 43 · Calidad / QA

Pruebas UAT

Script de pruebas reusable + evidencia de las corridas · Canal B2G (Licitaciones & Compra Ágil) + B2C (Mercado Libre / SoloTodo) del Marketplace.

Versión
1.0
Fecha
2026-06-18
Autor
User-QAS + Cerebro
Status
🟢 16/16 PASS · todo verde
Tabla de contenidos

Índice

  1. 01 · Cómo correr las pruebas
  2. 02 · Cobertura (qué prueba)
  3. 03 · Evidencia · última corrida
  4. 04 · Criterios y notas
  5. 05 · Plan de clic UAT (paridad MP)

01 · Cómo correr las pruebas

Script reusable y versionado en el repo del Marketplace: scripts/smoke-b2g.sh. Hace PASS/FAIL por check, crea filas de prueba y las limpia al final, y sale 0 si todo pasa.

# local (next dev en :3020)
bash scripts/smoke-b2g.sh

# producción
bash scripts/smoke-b2g.sh https://marketplace.smconnection.cl

Requiere .env.local con CRON_SECRET y SUPABASE_SERVICE_KEY (para los checks autenticados y el cleanup).

02 · Cobertura (16 checks)

GrupoChecks
B2G · Licitacionesseguimiento 200 · optimizar canino ($/kg) · optimizar genérico (sin "no aplica") · documentos/eventos 200 (no blind)
B2G · Proveedoresalta (validado) · upsert refresca precio (no 409) · cleanup
B2G · RADARdiscovery SoloTodo → candidatos validado=false
B2G · Compra Ágillistado 200 (seed + total mercado)
B2G · Cronsync-licitaciones 401/Bearer · cleanup-hist Bearer
B2C · Marketplacecategories · search · meli items (truncated) · items-hist guard 400

03 · Evidencia · última corrida

2026-06-18 11:11 · base http://localhost:3020 (Supabase prod) · RESULTADO: PASS=16 · FAIL=0 · 🟢 TODO VERDE

#CheckResultado
1seguimiento 200 (embudo 13)✅ PASS
2optimizar canino ($/kg)✅ PASS
3optimizar genérico (no-canino, sin "no aplica")✅ PASS
4documentos 200 (no blind)✅ PASS
5eventos 200 (no blind)✅ PASS
6proveedores alta (validado)✅ PASS
7proveedores upsert (no 409)✅ PASS
8RADAR discovery (3 candidatos SoloTodo)✅ PASS
9compra-agil 200 (total 5 · mercado 8.332)✅ PASS
10sync-licitaciones 401 sin auth✅ PASS
11sync-licitaciones Bearer 200✅ PASS
12cleanup-hist Bearer 200✅ PASS
13marketplace categories 200✅ PASS
14marketplace search 200 (n 3.334)✅ PASS
15meli items 200 (truncated=false)✅ PASS
16items-hist 400 sin id (guard)✅ PASS

04 · Criterios y notas

05 · Plan de clic UAT · paridad Mercado Público

Pruebas manuales paso a paso para verificar que el marketplace entrega la misma info que Mercado Público. Tester sigue los clics y compara con mercadopublico.cl.

#Acción (clic)EsperadoResultado real (2026-06-18)
1Abrir Licitaciones (sidebar → Licitaciones Workzone)Carga lista + filtros izquierda + KPIs✅ OK
2Buscar 3623-20-LS26 en "Buscar"Aparece la licitación real✅ Aparece · SERVICIO PROFESIONAL FORMULADOR · I. Mun. Mafil · $21.864.000 (== MP)
3Buscar un código que NO esté en BDBotón "Traer de Mercado Público" → al click la trae (OCDS por código)✅ OK (endpoint buscar-mp · persiste y recarga)
4Expandir la filaFicha: monto CLP+UTM, organismo, fechas, score, DECISIÓN✅ OK · compras/reclamos en "s/d" (Fase 2)
5Ir a Compra Ágil · expandir 2694-122-COT26Ficha COT (alarma, Cartagena, $3.000.000)✅ OK (seed real)
6Buscar palabra clave carneResultados como MP (14)⚠️ Fase 2 · OCDS no busca por keyword y el buscador MP es iframe/SPA → requiere bulk Datos Abiertos

Bug encontrado y corregido en la corrida

UAT-FIX-01: buscar el código de un servicio (3623-20-LS26) daba 0 resultados porque el toggle "Solo productos" (default ON) ocultaba servicios. Corregido: con búsqueda explícita el filtro "Solo productos" no aplica → muestra lo buscado aunque sea servicio. Verificado (commit 855e71d).

Estado de paridad MP↔Marketplace

CapacidadEstado
Buscar por CÓDIGO (ej. 3623-20-LS26)🟢 LIVE · OCDS por código + on-demand "Traer de MP"
Ingesta por fecha (todos los rubros)🟢 LIVE · quitado el filtro canino
Buscar por KEYWORD (carne, aseo, medicamento…)🟢 LIVE (act. 2026-06-23) · paridad 10/10 por producto sobre la data poblada (ver sección 06)
Conteos Publicado/No-Publicado · compras/reclamos · histórico total🟡 Fase 2 · bulk Datos Abiertos ChileCompra

06 · Paridad por PRODUCTO (10 tipos) · 2026-06-23

Script reusable scripts/paridad-productos.mjs: busca 10 tipos de producto en Mercado Público (estado=activas, por Nombre) y en el Marketplace (BD, título ilike), y compara los conteos. Resultado: 10/10 paridad perfecta — el buscador del marketplace encuentra exactamente lo mismo que MP.

ProductoMP (activas)Marketplace (publicada)Estado
carne55🟢
pan3737🟢
computador55🟢
vestuario2828🟢
aseo9898🟢
medicamento7171🟢
combustible1010🟢
papel77🟢
neumático22🟢
alimento2727🟢

Gap detectado · Compra Ágil

🔴 b2g_compra_agil vacía (0 registros) + la API Compra Ágil de ChileCompra está restringida (403). La sección usa el seed (5 ejemplos) mientras tanto. Paridad de Compra Ágil por producto = Fase 2: requiere COMPRA_AGIL_API_URL con acceso o la descarga bulk de Datos Abiertos. Anotado a la cola.

Veredicto

✅ Licitaciones: paridad por producto completa (10/10) · 🔴 Compra Ágil: gap estructural de fuente (Fase 2). Verificado en localhost · script versionado en el repo · smoke 16/16.