Skip to main content
Esta guía cubre cómo testear tu integración del SDK de SofIA, desde verificar la configuración básica hasta automatizar tests en pipelines CI/CD.

Resumen de estrategia de testing

Checklist de verificación manual

Antes de escribir tests automatizados, verifica lo básico con debug="true":
1

El componente renderiza

Abre tu página y confirma que el widget de SofIA aparece. Revisa la consola buscando [Sofia SDK] Configuration Error — si está ausente, las props son válidas.
2

El template se carga

Busca [Sofia SDK] Settings - Template loaded: {n} fields en la consola. Si n coincide con tu cantidad esperada de campos, el template se parseó correctamente.
3

El botón de generar aparece

Si tanto template como templateid están configurados, el botón de generar debería ser visible. Si falta, revisa los logs de validación de template.
4

handleReport se ejecuta

Haz clic en Generar después de una conversación y verifica que tu callback handleReport recibe datos. Loguea la salida con JSON.stringify(report, null, 2).

Testing unitario de callbacks

Testea tus funciones de callback independientemente del SDK. Estos tests verifican que tu aplicación procesa correctamente los datos que SofIA entrega.

Testing de handleReport

Testing de validación de template

Testing de integración

Testing de montaje del componente (Vanilla JS)

Testing con React

Testing con Angular

Mockear el SDK para CI/CD

En entornos CI donde el SDK no puede conectarse a servidores reales, mockea el web component para testear tu lógica de integración:
Usando el mock en tests:

Testing de la entrega de reportes

SofIA entrega los datos mediante propiedades de callback, no eventos DOM. Los reportes llegan cuando el SDK llama a la propiedad handleReport que asignas (sofia.handleReport = fn) — el SDK no emite eventos DOM handle-report/set-is-open/set-get-last-report. Testea la ruta del callback, no addEventListener.
Asigna tu callback como propiedad y verifica que recibe el reporte:
El único CustomEvent DOM que el SDK realmente emite es sofia:transcriber-url-changed (con detail: { url }), disparado cuando se resuelve la URL del transcriptor. Rara vez lo necesitas, pero puede observarse con un addEventListener('sofia:transcriber-url-changed', ...) estándar.

Configuración del entorno de testing

Configuración de Vitest

Archivo de setup

Enfoca tus tests automatizados en tu código de integración (callbacks, transformaciones de datos, actualizaciones de UI), no en los internos del SDK. El SDK es testeado internamente con más de 160 casos de test. Tus tests deberían verificar que tu aplicación procesa correctamente los datos que SofIA entrega.

Próximos pasos

  1. Solución de Problemas — soluciones para problemas comunes
  2. Referencia de Errores — catálogo completo de mensajes de error del SDK
  3. Guía de Migración — actualizar de v0.x a v1.0