Smoke-тест приёма заявок через Web3Forms

Назначение

Чек-лист подтверждает работу короткой и подробной формы, проверку телефона и фактическую доставку заявки на правильный email.

Схема аналогична проекту deputat36/bm:

  1. пользователь заполняет короткую форму;
  2. при необходимости раскрывает дополнительные поля;
  3. Web3Forms отправляет email-копию;
  4. сайт показывает /spasibo/;
  5. при ошибке остаются SMS, MAX, ВКонтакте, Web Share и копирование текста;
  6. будущий Supabase endpoint может работать параллельно в режиме hybrid.

До теста

Тестовая ссылка

Открыть форму с тестовой атрибуцией:

https://sterlikova-ipoteka.ru/online-zayavka/?source=%2Fuslugi%2Fpodbor-ipoteki%2F&utm_source=smoke&utm_medium=test&utm_campaign=web3forms_launch&utm_content=desktop

Для мобильной проверки заменить utm_content=desktop на utm_content=mobile.

Проверка телефонного поля

Выполнить до отправки реальной тестовой заявки:

  1. Ввести 89031234567 — поле должно показать +7 (903) 123-45-67.
  2. Очистить и ввести +79031234567 — результат должен быть тем же.
  3. Ввести неполный номер — подготовка заявки должна быть заблокирована понятной ошибкой.
  4. Ввести больше 10 цифр после +7 — лишняя цифра не должна скрываться, поле должно показать ошибку.
  5. Исправить номер — ошибка и aria-invalid должны исчезнуть.
  6. Убедиться, что имя и телефон не сохраняются в localStorage или sessionStorage.

Ожидаемые цели после подключения Метрики:

Тест A: короткая заявка

Использовать явно тестовые значения:

Последовательность:

  1. Заполнить обязательные поля.
  2. Установить чекбокс согласия.
  3. Нажать «Проверить и подготовить заявку».
  4. Проверить сформированный текст:
    • присутствует request ID;
    • источник /uslugi/podbor-ipoteki/;
    • указан город;
    • указан сценарий;
    • дополнительные значения обозначены как неуказанные;
    • нет паспортных или банковских документов.
  5. Нажать «Отправить заявку онлайн».
  6. Убедиться, что кнопка переходит в состояние отправки и защищена от повторного клика.
  7. Дождаться перехода на /spasibo/.
  8. Проверить номер обращения, сценарий, город и технический статус.
  9. Убедиться, что номер телефона на странице не выводится.

Тест B: подробная заявка

Открыть новую форму и раскрыть «Добавить подробности».

Заполнить:

Проверить:

Проверка email

В рабочем почтовом ящике проверить:

Если письмо пришло не тому получателю, приём заявок нельзя считать введённым в эксплуатацию. Нужно создать отдельный Web3Forms access key для подтверждённого рабочего email и заменить только lead_capture.web3forms_access_key в _config.yml.

Проверка повторной отправки

Web3Forms сам по себе не обеспечивает бизнес-дедупликацию. Постоянная идемпотентность по request ID будет реализована в Supabase backend v2.

Проверка ошибки

Ошибку проверять только в тестовой ветке или локально, временно подменив URL Web3Forms на недоступный HTTPS-адрес.

Ожидаемое поведение:

После проверки тестовую подмену обязательно удалить.

Проверка таймаута

При искусственно зависшем запросе через время из lead_capture.timeout_ms должны выполниться условия:

Проверка антиспама

Клиентский антиспам не заменяет server-side rate limit. Он будет добавлен при подключении Supabase в режиме hybrid.

Проверка мобильного интерфейса

На ширине экрана около 360–430 px проверить:

Проверка аналитики

После подключения Яндекс Метрики проверить цели:

lead_submit означает успешный технический ответ Web3Forms. Фактическую доставку подтверждает наличие письма в рабочем ящике.

Результат запуска

Зафиксировать:

После успешного теста удалить тестовые письма и не использовать тестовые записи как реальных клиентов.

ЗаявкаПозвонитьВК