# Tester les emails dans Playwright

> Un test Playwright qui attend un email, lit le code qu’il contient et continue le parcours. Sans sleep, sans expression régulière, et sans paquet à installer.
> https://facteur.eu/tester-les-emails-avec-playwright

## Votre test attend un email, il ne dort pas

Un parcours d’inscription se termine dans une boîte mail. Sans boîte que le test puisse lire, il ne reste que deux options : simuler l’envoi, ce qui ne prouve rien de la partie la plus fragile, ou boucler avec un délai fixe. Voici la troisième.

## Le test en entier

Rien n’est coupé : c’est le fichier complet, et il n’importe que Playwright.

### La requête part avant le clic

Elle reste ouverte et répond à l’instant où l’email arrive, pas à l’échéance. Lancée après le clic, elle courrait après un message peut-être déjà traité.

### Chaque test a son adresse

Tout ce qui suit le « + » vous appartient et arrive quand même. Deux tests qui tournent en même temps ne se volent donc pas leurs emails, sans rien créer au préalable.

### Le code est déjà extrait

Le message arrive avec son code à usage unique dans un champ à part. Vous ne réécrivez pas l’expression régulière qui traîne dans toutes les suites de tests.

### On lit status avant tout le reste

Un email accepté existe avant d’être analysé : pendant quelques millisecondes il n’a ni sujet, ni code. Ce champ sépare « pas de code dans ce message » de « le code n’est pas encore extrait ».

## Pourquoi ce test tient en trente lignes

## L’application qui envoie cet email

Le test ci-dessus s’arrête net sans une application qui envoie vraiment le message, et la vôtre n’est peut-être pas prête. La Belle Étoile en est une, ouverte à tout le monde : commandez-y une lampe, donnez l’adresse de votre boîte de test, et la confirmation arrive avec son code. Aucun compte à créer, rien à installer. La boutique n’écrit qu’à une adresse Facteur, ce qui l’empêche de servir de relais à qui que ce soit, et son code ne connaît rien de nous : elle se comporte comme votre application, pas comme une vitrine.

## Le greffon Playwright, si vous le voulez

Il s’installe en une ligne : npm i -D playwright-facteur. Il calcule une adresse par test, rejoue ses assertions comme le fait Playwright, et attache au rapport le message reçu, donc un échec montre le courrier arrivé plutôt qu’une ligne rouge seule. Le test ci-dessus ne l’utilise pas et continue de fonctionner : le greffon fait gagner du confort, pas des capacités.
