Testare il login passwordless senza il caos della casella di posta

Il login passwordless sembra facile in una demo. Un utente inserisce un'email, riceve un magic link e accede.

In staging, questo flusso si interrompe. I link finiscono in caselle di posta condivise o vecchi alias email. Il testing diventa un caos.

Devi trattare l'autenticazione passwordless come un unico sistema. Devi testare il client JavaScript, il backend Node.js, l'invio dell'email e la sessione finale.

Se salti la casella di posta, i tuoi test API potrebbero passare mentre l'esperienza utente fallisce.

I fallimenti comuni includono:

  • Il backend invia due link dopo un tentativo di riprova.
  • L'email punta all'host dell'ambiente sbagliato.
  • Un vecchio link funziona più a lungo del dovuto.
  • Il frontend segna l'utente come loggato prima che il cookie venga impostato.

Usa una casella di posta isolata per ogni esecuzione di test. Questo mantiene i dati puliti e il debugging veloce. Se tre test utilizzano la stessa casella di posta, non riuscirai a trovare l'errore.

Segui questo workflow:

  • Attiva il login dalla tua UI o tramite un test end-to-end.
  • Lascia che Node.js invii il link attraverso il tuo percorso di staging.
  • Cattura il messaggio in una casella di posta nuova e isolata.
  • Apri il link più recente nella stessa sessione del browser.
  • Verifica lo stato di autenticazione.

Un buon test fa molto più che controllare se un'email è arrivata. Controlla questi passaggi in ordine:

  • La richiesta di login restituisce una risposta di successo neutra.
  • Esiste esattamente un magic link nuovo.
  • L'host del link corrisponde al tuo dominio di staging.
  • Il token avvia una sessione valida.
  • Il riutilizzo dello stesso link fallisce.
  • L'app aggiorna la UI senza un refresh manuale.

Sul backend, allega un correlation ID ai tuoi log. Questo ti aiuta a tracciare una richiesta dalla creazione alla sessione finale.

Non sostituire tutti i tuoi test con test basati sull'email. Usa test unitari veloci per la logica e usa questo flusso tramite casella di posta per la tua suite di staging.

Usa questa checklist prima di rilasciare:

  • Una richiesta di login crea un solo link attivo.
  • L'email più recente è facile da analizzare in staging.
  • Il link effettua l'accesso dell'utente sull'host corretto.
  • Il link non può essere usato due volte.
  • Il logout e il successivo login producono un nuovo token pulito.

Fonte: https://dev.to/ryanlee91/how-to-test-passwordless-login-emails-in-javascript-without-inbox-chaos-56d0