Uji Login Tanpa Kata Sandi Tanpa Kekacauan Inbox

Login tanpa kata sandi terlihat mudah dalam sebuah demo. Pengguna memasukkan email, mendapatkan magic link, dan masuk.

Di lingkungan staging, alur ini sering bermasalah. Tautan masuk ke inbox bersama atau alias email lama. Pengujian pun menjadi berantakan.

Anda harus memperlakukan autentikasi tanpa kata sandi sebagai satu sistem tunggal. Anda perlu menguji klien JavaScript, backend Node.js, pengiriman email, dan sesi akhirnya.

Jika Anda melewatkan pengujian inbox, tes API Anda mungkin berhasil sementara pengalaman pengguna justru gagal.

Kegagalan umum meliputi:

  • Backend mengirim dua tautan setelah percobaan ulang.
  • Email mengarah ke host lingkungan yang salah.
  • Tautan lama berfungsi lebih lama dari yang seharusnya.
  • Frontend menandai pengguna telah masuk sebelum cookie terpasang.

Gunakan inbox yang terisolasi untuk setiap sesi pengujian. Ini menjaga data Anda tetap bersih dan proses debugging menjadi cepat. Jika tiga pengujian menggunakan satu inbox yang sama, Anda tidak akan bisa menemukan kesalahannya.

Ikuti alur kerja ini:

  • Picu login dari UI Anda atau melalui pengujian end-to-end.
  • Biarkan Node.js mengirim tautan melalui jalur staging Anda.
  • Tangkap pesan tersebut di inbox yang baru dan terisolasi.
  • Buka tautan terbaru di sesi browser yang sama.
  • Verifikasi status autentikasi.

Pengujian yang baik melakukan lebih dari sekadar memeriksa apakah email telah sampai. Periksa langkah-langkah ini secara berurutan:

  • Permintaan login mengembalikan respons sukses yang netral.
  • Terdapat tepat satu magic link yang baru.
  • Host tautan sesuai dengan domain staging Anda.
  • Token memulai sesi yang valid.
  • Menggunakan kembali tautan yang sama akan gagal.
  • Aplikasi memperbarui UI tanpa perlu penyegaran (refresh) manual.

Di sisi backend, lampirkan correlation ID pada log Anda. Ini membantu Anda melacak permintaan dari saat pembuatan hingga sesi akhir.

Jangan mengganti semua pengujian Anda dengan pengujian berbasis email. Gunakan unit test yang cepat untuk logika dan gunakan jalur inbox ini untuk rangkaian pengujian staging Anda.

Gunakan checklist ini sebelum Anda merilisnya:

  • Permintaan login hanya membuat satu tautan aktif.
  • Email terbaru mudah diparsing di staging.
  • Tautan tersebut masuk ke pengguna di host yang benar.
  • Tautan tidak dapat digunakan dua kali.
  • Logout dan login kembali menghasilkan token baru yang bersih.

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