Skip to main content

Test unitaire Auth0 Actions

Le package Actions NPM (@auth0/actions) permet d’utiliser TypeScript dans des projets externes, aidant ainsi les développeurs à suivre les pratiques exemplaires et à améliorer leurs tests unitaires grâce aux définitions TypeScript.

Fonctionnement

Suivez les instructions d’installation et d’importation décrites ici : Fonctionnement d’Actions NPM. Pour effectuer le test unitaire d’une Action, vous devez simuler les objets event et api que reçoit votre fonction Action. Vous pouvez créer ces simulations à l’aide des définitions TypeScript incluses dans auth0/actions, ce qui garantit que vos tests reflètent fidèlement l’environnement de production. Les frameworks de test comme Jest sont idéaux pour gérer les simulations et valider le fonctionnement. Les tests unitaires peuvent être exécutés dans un environnement local, avec le contrôle de version ou dans un processus CI/CD, ce qui améliore globalement l’assurance qualité et les validations avant que les changements n’aient une incidence sur les tenants Auth0.

Exemples

Les exemples suivants permettent de valider différents scénarios en simulant les objets nécessaires.
Les exemples utilisent Jest (https://www.npmjs.com/package/jest), mais n’importe quelle bibliothèque de test peut être utilisée.

Configuration

Dans votre fichier package.json, définissez les dépendances de développement nécessaires pour profiter de l’aide IntelliSense lorsque vous rédigez votre Action.

Contrôle d’accès et configuration des métadonnées utilisateur pour Pre-User Registration

L’exemple d’Action suivant vérifie si l’adresse courriel de l’utilisateur utilise un domaine interdit et appelle api.access.deny() en cas de correspondance. Sinon, il vérifie si le nom complet a été fourni au moyen des champs supplémentaires de Custom Prompts et, le cas échéant, l’enregistre dans le user_metadata du profil utilisateur; sinon, il envoie une erreur de validation à Universal Login.
Le test unitaire effectue quelques validations afin de maximiser la couverture du code, en simulant les objets event et api.

Fournisseur de courriel personnalisé et requête HTTP

L’exemple d’Action suivant tente d’envoyer un message au moyen d’une requête HTTP à un service externe et gère les erreurs possibles de la requête afin d’abandonner la notification. Il utilise des secrets pour l’URL du service externe et la clé API d’autorisation.
Le test unitaire effectue certaines validations pour maximiser la couverture du code, en simulant les objets event et api, ainsi que la fonction fetch.
Pour en savoir plus sur @auth0/actions, consultez : https://www.npmjs.com/package/@auth0/actions. Pour en savoir plus sur la création d’Actions, consultez Write Your First Action.