Appearance
Partizap — Чек-лист ручного регрессионного тестирования
Версия: 1.1 | Дата: 2026-04-09 Стенд: https://dev.partizap.ruВремя прохождения: ~40 мин (полный), ~20 мин (Critical + High)
Перед каждым merge в
main— пройти минимум Critical + High. Полный прогон — перед релизом.Подробные шаги и негативные сценарии — см. e2e-user-flows.md
Тестовые аккаунты
| Роль | Пароль | |
|---|---|---|
| Покупатель | buyer@test.partizap.ru | Test123!pass |
| Продавец | seller@test.partizap.ru | Test123!pass |
| Админ | admin@test.partizap.ru | Admin123!pass |
| Новый (email не подтверждён) | newuser@test.partizap.ru | New123!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 |
| Браузер | |
| Пройдено | /всего |
| Блокеры | |
| Замечания |