Тестування безпарольного входу без хаосу в поштовій скриньці
Безпарольний вхід виглядає простим у демо-версії. Користувач вводить email, отримує магічне посилання та входить у систему.
На стейджингу цей процес ламається. Посилання потрапляють у спільні поштові скриньки або на старі аліаси email. Тестування перетворюється на хаос.
Ви повинні розглядати безпарольну автентифікацію як єдину систему. Вам потрібно протестувати JavaScript-клієнт, Node.js backend, доставку електронних листів та фінальну сесію.
Якщо ви ігноруєте поштову скриньку, ваші API-тести можуть пройти успішно, тоді як користувацький досвід буде незадовільним.
Типові помилки включають:
- Backend надсилає два посилання після повторної спроби.
- Email веде на хост невідповідного середовища.
- Старе посилання працює довше, ніж повинно.
- Frontend позначає користувача як авторизованого до того, як встановлюється cookie.
Використовуйте ізольовану поштову скриньку для кожного запуску тестів. Це дозволить підтримувати чистоту даних і пришвидшити налагодження. Якщо три тести використовують одну скриньку, ви не зможете знайти помилку.
Дотримуйтесь такого робочого процесу:
- Запустіть вхід через ваш UI або end-to-end тест.
- Дозвольте Node.js надіслати посилання через ваш шлях на стейджингу.
- Перехопіть повідомлення у свіжій ізольованій скриньці.
- Відкрийте найсвіжіше посилання в тій самій сесії браузера.
- Перевірте стан автентифікації.
Хороший тест робить більше, ніж просто перевірку отримання листа. Перевіряйте ці кроки по черзі:
- Запит на вхід повертає нейтральну відповідь про успіх.
- Існує рівно одне нове магічне посилання.
- Хост посилання відповідає вашому стейджинг-домену.
- Токен ініціює валідну сесію.
- Повторне використання того самого посилання призводить до помилки.
- Додаток оновлює UI без необхідності ручного перезавантаження.
На бекенді додавайте correlation ID до ваших логів. Це допоможе відстежити запит від моменту створення до фінальної сесії.
Не замінюйте всі свої тести тестами, орієнтованими на email. Використовуйте швидкі юніт-тести для логіки, а цей шлях із поштовою скринькою — для вашого стейджинг-пакету тестів.
Використовуйте цей чекліст перед релізом:
- Запит на вхід створює лише одне активне посилання.
- Найсвіжіший email легко розпарсити на стейджингу.
- Посилання авторизує користувача на правильному хості.
- Посилання не можна використати двічі.
- Вихід із системи та повторний вхід створюють чистий новий токен.
