Saltar al contenido principal

Pruebas unitarias de Auth0 Actions

El paquete Actions NPM (@auth0/actions) permite usar TypeScript en proyectos externos, lo que ayuda a los desarrolladores a seguir las prácticas recomendadas y a mejorar sus pruebas unitarias a partir de las definiciones de TypeScript.

Cómo funciona

Sigue las pautas de instalación e importación descritas en: Cómo funciona Actions NPM. Para realizar pruebas unitarias de una Action, debes crear mocks de los objetos event y api que recibe la función de tu Action. Puedes crear estos mocks con las definiciones de TypeScript incluidas en auth0/actions, lo que garantiza que tus pruebas reflejen con precisión el entorno de producción. Los frameworks de pruebas como Jest son ideales para gestionar los mocks y probar la funcionalidad. Las pruebas unitarias pueden ejecutarse en un entorno local, en el control de versiones o en un proceso de CI/CD, lo que mejora la garantía general de calidad y las validaciones antes de que los cambios afecten a los Tenants de Auth0.

Ejemplos

Los siguientes ejemplos muestran cómo validar una serie de escenarios mediante la simulación de los objetos necesarios.
Los ejemplos usan Jest (https://www.npmjs.com/package/jest), pero se puede usar cualquier biblioteca de pruebas.

Configuración

En tu package.json, define las dependencias de desarrollo para contar con la ayuda de IntelliSense al escribir tu Action.

Control de acceso antes del registro de usuarios y configuración de metadatos del usuario

El siguiente ejemplo de Action comprueba si el correo electrónico del usuario pertenece a un dominio de correo electrónico prohibido y llama a api.access.deny() si coincide. En caso contrario, verifica si se proporcionó el nombre completo mediante campos adicionales de Custom Prompts y, de ser así, lo establece en user_metadata del perfil del usuario; de lo contrario, envía un error de validación a Universal Login.
La prueba unitaria realiza algunas validaciones para maximizar la cobertura del código, simulando los objetos event y api.

Proveedor personalizado de correo electrónico y solicitud HTTP

El siguiente ejemplo de Action intenta enviar un mensaje mediante una solicitud HTTP a un servicio externo, gestionando un posible error en la solicitud para descartar la notificación. Usa secretos para la URL del servicio externo y la clave de API de autorización.
La prueba unitaria realiza algunas validaciones para maximizar la cobertura del código, simulando los objetos event y api, además de la función fetch.
Para obtener más información sobre @auth0/actions, visita https://www.npmjs.com/package/@auth0/actions. Para obtener más información sobre cómo escribir Actions, consulta Write Your First Action.