Skip to content

Partizap — Чек-лист ручного регрессионного тестирования

Версия: 1.1 | Дата: 2026-04-09 Стенд: https://dev.partizap.ruВремя прохождения: ~40 мин (полный), ~20 мин (Critical + High)

Перед каждым merge в main — пройти минимум Critical + High. Полный прогон — перед релизом.

Подробные шаги и негативные сценарии — см. e2e-user-flows.md

Тестовые аккаунты

РольEmailПароль
Покупательbuyer@test.partizap.ruTest123!pass
Продавецseller@test.partizap.ruTest123!pass
Админadmin@test.partizap.ruAdmin123!pass
Новый (email не подтверждён)newuser@test.partizap.ruNew123!pass

Фаза 1: Публичные страницы (~5 мин) — Critical

UF-05: Каталог

  • [ ] Открыть /catalog — список товаров загружается
  • [ ] Карточка содержит: изображение, название, цена, город
  • [ ] Прокрутка вниз — подгрузка следующей страницы (cursor pagination)
  • [ ] Клик на карточку → переход на /product/{id}
  • [ ] Фильтр цены (DEV-311): log-scale двухручечный слайдер, поля «от/до» с форматированием, клампинг в диапазон [0, 200 000 000], применение по кнопке «Применить»

UF-07: Карточка товара

  • [ ] Галерея изображений отображается
  • [ ] Видно: название, цена, описание, OEM, производитель
  • [ ] Совместимость авто (марка/модель/поколение)
  • [ ] Местоположение (город, район, метро)
  • [ ] Блок продавца: имя, аватар, кнопка «Написать»
  • [ ] Клик на изображение → лайтбокс, переключение фото

UF-21: Текстовый поиск и автокомплит

  • [ ] Клик на поле поиска в хедере
  • [ ] Ввод ≥2 символов → появляются саджесты (название, цена, thumbnail)
  • [ ] Клик на саджест → переход на /product/{id}
  • [ ] Enter → переход на /catalog?q=..., товары отфильтрованы
  • [ ] Пустой запрос → саджесты не показываются
  • [ ] Нет результатов → «Ничего не найдено»

UF-06: Поиск по автомобилю (YMM)

  • [ ] На / или /catalog открыть фильтр «Автомобиль»
  • [ ] Выбрать марку → подгружаются модели
  • [ ] Выбрать модель → подгружаются поколения
  • [ ] Выбрать поколение → подгружаются модификации
  • [ ] Применить → каталог отфильтрован
  • [ ] Сброс фильтров → полный каталог

Фаза 2: Авторизация (~5 мин) — Critical/High

UF-02: Логин

  • [ ] Открыть /auth/login
  • [ ] Пустая отправка → клиентская валидация
  • [ ] Неверный пароль → «Неверный email или пароль»
  • [ ] Верный логин (buyer) → редирект в /cabinet
  • [ ] В хедере отображается имя / аватар
  • [ ] Логаут работает

UF-01: Регистрация

  • [ ] Открыть /auth/register
  • [ ] Заполнить имя, email, пароль, подтверждение
  • [ ] Пустые поля → валидация на клиенте
  • [ ] Несовпадающие пароли → ошибка
  • [ ] Короткий пароль → ошибка
  • [ ] Уже зарегистрированный email → ошибка
  • [ ] Успешная регистрация → редирект в /cabinet
  • [ ] Отображается уведомление «Подтвердите email»

UF-04: Сброс пароля

  • [ ] На странице логина нажать «Забыли пароль?»
  • [ ] Ввести email → нажать «Отправить ссылку»
  • [ ] Форма показывает сообщение об отправке (независимо от существования email)
  • [ ] /auth/reset-password?token=invalid → «Ссылка недействительна»

UF-03: Верификация email (только вручную)

  • [ ] Войти как newuser → виден баннер «Подтвердите email»
  • [ ] Ввод неверного кода → ошибка
  • [ ] Повторная отправка кода → ожидание 60 сек

Фаза 3: Продавец (~10 мин) — Critical

UF-08: Создание объявления

  • [ ] Войти как seller
  • [ ] Перейти в /cabinet/products/new
  • [ ] Заполнить: название, цена, описание, OEM, производитель
  • [ ] Название: счётчик символов, ограничение 50 (DEV-301)
  • [ ] Под полем названия появляется чип смарт-подсказки категории (DEV-317); клик → категория подставляется, крестик → отклоняется
  • [ ] Под полем цены — подсказка средней цены по категории (DEV-319), обновляется при смене категории
  • [ ] Цена > 200 000 000 → клампится к максимуму (DEV-311)
  • [ ] OEM в неверном формате (кириллица, спецсимволы) → ошибка валидации (DEV-309)
  • [ ] Выбрать тип руля, категорию, состояние
  • [ ] Выбрать местоположение: регион → город → район → метро
  • [ ] YMM: первая строка появляется автоматически, кнопка удаления последней строки недоступна (DEV-292)
  • [ ] Тумблер «Неизвестный автомобиль» — при включении блок YMM отключается, товар сохраняется без привязки (DEV-293/307)
  • [ ] Добавить совместимость авто: марка → модель → поколение → модификация
  • [ ] Загрузить фото (минимум 1)
  • [ ] Нажать «Сохранить черновик» → статус draft
  • [ ] Без заголовка → валидация
  • [ ] Без категории → ошибка
  • [ ] Без фото → предупреждение

UF-10: Управление изображениями

  • [ ] В редактировании объявления — загрузить новое фото
  • [ ] Фото появляется в галерее
  • [ ] Перетащить фото для изменения порядка → порядок сохранён (DEV-305)
  • [ ] Удалить фото → фото исчезает
  • [ ] Удалить главное фото → главным становится следующее по порядку (DEV-303)
  • [ ] Загрузить 10 фото → кнопка добавления скрывается, под галереей появляется хинт о лимите (DEV-303)
  • [ ] Симуляция ошибки загрузки → рядом с превью иконка ошибки и кнопка retry (DEV-303)

UF-09: Редактирование и публикация

  • [ ] Открыть «Мои объявления» /cabinet/products
  • [ ] Найти черновик → нажать «Редактировать»
  • [ ] Изменить название/цену → «Сохранить» → данные обновлены
  • [ ] Нажать «Опубликовать» → статус pending
  • [ ] Уведомление «Объявление отправлено на модерацию»
  • [ ] Открыть товар со статусом pending → кнопка «Редактировать» доступна (DEV-313)
  • [ ] В редакторе pending-товара отображается предупреждение о повторной модерации
  • [ ] Сохранить изменения → товар остаётся в pending, контент обновлён

UF-14: Избранное

  • [ ] На карточке товара нажать «В избранное»
  • [ ] Иконка меняет состояние (заполнена)
  • [ ] Перейти в /cabinet/favorites → товар в списке
  • [ ] Удалить из избранного → товар исчезает

UF-15: Профиль продавца

  • [ ] Перейти в /cabinet/settings/profile
  • [ ] Изменить имя → сохранить → имя обновлено
  • [ ] Загрузить аватар → аватар обновлён в хедере
  • [ ] Выбрать город/район/метро → сохранить

Фаза 4: Чат (~5 мин) — High

UF-11: Начало чата

  • [ ] На карточке товара (авторизованным) нажать «Написать продавцу»
  • [ ] Редирект в /cabinet/messages/{id}
  • [ ] Если гость → редирект на /auth/login

UF-12: Обмен сообщениями

  • [ ] Ввести текст → отправить → сообщение отображается
  • [ ] Открыть чат с другого аккаунта → сообщение получено в реальном времени
  • [ ] Индикатор «печатает...» при наборе
  • [ ] Отправить изображение через чат → thumbnail отображается

UF-13: Поиск по сообщениям

  • [ ] В /cabinet/messages ввести запрос в глобальный поиск (≥2 символа)
  • [ ] Результаты сгруппированы по беседам
  • [ ] Клик на результат → переход в беседу с подсветкой
  • [ ] Поиск внутри беседы (ChatSearchBar)
  • [ ] Навигация стрелками между найденными сообщениями

Фаза 5: Админка (~10 мин) — Critical/High

UF-20: Дашборд

  • [ ] Войти как admin → /admin
  • [ ] 4 карточки статистики: пользователи, объявления, на модерации, черновики
  • [ ] Клик «На модерации» → переход к /admin/products
  • [ ] Блок «Пользователи» (по типу аккаунта)
  • [ ] Блок «Объявления» (по статусу)

UF-17: Модерация

  • [ ] Перейти в /admin/products
  • [ ] Список объявлений со статусом pending
  • [ ] Клик на объявление → детали (фото, название, цена, описание)
  • [ ] Одобрить → статус active
  • [ ] Отклонить (с причиной) → статус rejected

UF-18: Справочники (авто)

  • [ ] Перейти в раздел справочников /admin/references
  • [ ] Марки: список → добавить → редактировать → удалить
  • [ ] Модели: выбрать марку → список → добавить → редактировать
  • [ ] Поколения: выбрать модель → список → добавить (год от/до)
  • [ ] Модификации: выбрать поколение → список → добавить (топливо, привод, КПП, руль)

UF-19: Пользователи

  • [ ] Перейти в /admin/users
  • [ ] Таблица пользователей с фильтрами (personal/business)
  • [ ] Клик на пользователя → детали
  • [ ] Активация/деактивация пользователя
  • [ ] Просмотр объявлений пользователя

Фаза 6: Дополнительные flows (~5 мин) — Medium/Low

UF-22: Выбор города

  • [ ] В хедере нажать на индикатор города
  • [ ] Модалка выбора: список регионов
  • [ ] Выбрать регион → города → выбрать город
  • [ ] Модалка закрывается, индикатор обновлён
  • [ ] Перейти в каталог → товары отфильтрованы по городу
  • [ ] Город сохраняется между сессиями (cookie)

UF-23: Смена пароля

  • [ ] Перейти в /cabinet/settings/security
  • [ ] Ввести текущий пароль, новый пароль, подтверждение
  • [ ] Сменить → уведомление об успехе
  • [ ] Выйти → войти с новым паролем
  • [ ] Неверный текущий пароль → ошибка
  • [ ] Несовпадающие пароли → ошибка

UF-16: Сессии

  • [ ] В /cabinet/settings/security — список активных сессий
  • [ ] Текущая сессия помечена
  • [ ] Завершить другую сессию → удалена из списка
  • [ ] «Завершить все сессии» → остаётся только текущая

UF-24: Бизнес-профиль

  • [ ] Переключить тип аккаунта на «Бизнес»
  • [ ] Перейти в /cabinet/settings/business
  • [ ] Заполнить: название, ИНН, адрес, сайт, часы работы
  • [ ] Сохранить → данные обновлены
  • [ ] На публичной странице продавца — бизнес-информация отображается

UF-25: Публичная страница продавца

  • [ ] Перейти на /seller/{id}
  • [ ] Аватар, имя/компания, город, дата регистрации, кол-во объявлений
  • [ ] Список товаров продавца (сетка карточек)
  • [ ] Пагинация при прокрутке
  • [ ] Клик на карточку → /product/{id}
  • [ ] «Написать продавцу» (гость → логин, авторизованный → чат)

Кросс-функциональные проверки

Адаптивность

  • [ ] Мобильный вид (≤640px): навигация в бургер-меню
  • [ ] Планшет (768–1024px): корректная сетка карточек
  • [ ] Desktop (≥1280px): полноширинная вёрстка

Тёмная тема

  • [ ] Переключение светлая/тёмная — все страницы читаемы
  • [ ] Контрастность текста достаточна

SSR и SEO

  • [ ] /catalog, /product/{id}, /seller/{id} — контент виден в View Source (SSR)
  • [ ] <title> и meta description корректны на публичных страницах
  • [ ] OG-теги для шаринга (проверить через View Source)

Навигация и состояние

  • [ ] Browser back/forward работает корректно
  • [ ] F5 на любой странице — состояние сохраняется
  • [ ] Deep link (прямой URL) — страница загружается без ошибок

Итоги прогона

ПараметрЗначение
Дата
Тестировщик
Стендdev.partizap.ru
Браузер
Пройдено/всего
Блокеры
Замечания