Документация ЛК
Система

Сценарии тестирования

Тестовые сценарии - Личный кабинет дилера

Дата: декабрь 2025
Цель: Выявление UX проблем и проверка функциональности
URL тестирования: https://lkstage.ncgroup-it.ru (stage)


Роли для тестирования

Рольgroup_idОписание
Администратор1Полный доступ
Дилер2Создание заказов, просмотр своих данных
Менеджер3Управление своими дилерами
Производство4Просмотр заказов в производстве

Сценарий 1: Авторизация

1.1 Успешный вход

  • Открыть /login
  • Ввести корректный email и пароль
  • Нажать "Войти"
  • Ожидаемый результат: Редирект на главную страницу (Dashboard)

1.2 Неверные учетные данные

  • Открыть /login
  • Ввести неверный email или пароль
  • Нажать "Войти"
  • Ожидаемый результат: Уведомление "Неверный логин или пароль"

1.3 Выход из системы

  • Нажать на кнопку выхода
  • Ожидаемый результат: Редирект на /login

Сценарий 2: Главная страница (Dashboard)

2.1 Отображение Dashboard для разных ролей

  • Войти как администратор
  • Проверить отображение виджетов/статистики
  • Войти как дилер
  • Проверить ограниченный набор данных
  • Проверить: Адаптивность, скорость загрузки

Сценарий 3: Создание заказа (Дилер/Менеджер)

3.1 Шаг 1: Выбор товара

  • Перейти в /order/add
  • Выбрать основной товар из каталога
  • Указать количество
  • Настроить входы (110мм, 160мм)
  • Указать наращивание горловины (мм)
  • Добавить дополнительный основной товар (кнопка "Добавить основной товар")
  • Проверить: Пересчет цен в реальном времени
  • Проверить: Валидация (минимум 1 вход для продуктов с входами)
  • Нажать "Далее"

3.2 Шаг 2: Дополнительные товары

  • Выбрать компрессор
  • Выбрать насос
  • Выбрать кессон
  • Проверить: Обновление итоговой стоимости
  • Нажать "Далее"

3.3 Шаг 3: Данные получателя

  • Заполнить ФИО получателя
  • Заполнить телефон (формат +7(999) 999 99 99)
  • Заполнить email
  • Заполнить адрес доставки
  • Выбрать способ доставки
  • Выбрать способ оплаты
  • Для менеджера/админа: Выбрать дилера
  • Выбрать склад или производство
  • Проверить: Валидация всех полей
  • Нажать "Далее"

3.4 Шаг 4: Подтверждение

  • Проверить сводку заказа
  • Проверить итоговые цены (клиентская и дилерская)
  • Нажать "Создать заказ"
  • Ожидаемый результат: Заказ создан, редирект на список заказов

3.5 Проверка UX

  • Навигация между шагами (назад/вперед)
  • Сохранение данных при переходе между шагами
  • Отображение ошибок валидации
  • Адаптивность на мобильных устройствах

Сценарий 4: Список заказов

4.1 Просмотр списка

  • Перейти в /orders
  • Проверить: Отображение колонок (номер, товар, дилер, дата, сумма, статус)
  • Проверить: Сортировка по колонкам
  • Проверить: Пагинация

4.2 Фильтрация

  • Фильтр по дилеру
  • Фильтр по статусу
  • Фильтр по дате создания (с/по)
  • Проверить: Комбинированные фильтры

4.3 Поиск

  • Поиск по номеру заказа
  • Поиск по названию товара
  • Проверить: Скорость поиска

4.4 Действия

  • Скачать бланк заказа (для менеджера/админа)
  • Загрузить спецификацию (для дилера)
  • Удалить заказ (если есть права)
  • Экспорт в Excel

4.5 Проверка прав

  • Дилер: Видит только свои заказы
  • Менеджер: Видит заказы своих дилеров
  • Производство: Видит заказы своего производства/склада
  • Админ: Видит все заказы

Сценарий 5: Редактирование заказа

5.1 Просмотр заказа

  • Кликнуть на заказ в списке
  • Проверить: Отображение всех данных заказа
  • Проверить: Вкладки (Общая информация, Файлы, История, и т.д.)

5.2 Изменение статуса

  • Выбрать доступный статус
  • Проверить: Доступные переходы согласно правам
  • Проверить: Отправка Telegram уведомления (если настроено)

5.3 Редактирование полей

  • Изменить дату производства
  • Изменить дату оплаты
  • Загрузить файлы (спецификация, счет, платежка)
  • Проверить: Сохранение изменений

5.4 Загрузка документов

  • Загрузить спецификацию
  • Загрузить счет
  • Загрузить платежное поручение
  • Скачать спецификацию (генерация Excel)

Сценарий 6: Каталог товаров

6.1 Просмотр каталога

  • Перейти в /catalog
  • Проверить: Отображение категорий
  • Проверить: Отображение изображений категорий

6.2 Навигация по категориям

  • Перейти в подкатегорию
  • Перейти к списку товаров
  • Вернуться назад (кнопка "Назад")

6.3 Просмотр товара

  • Открыть карточку товара
  • Проверить: Отображение названия, цены, изображений
  • Проверить: Отображение характеристик
  • Проверить: Отображение опций (входы, одиночные)

6.4 Редактирование товара (админ)

  • Изменить название товара
  • Изменить цены (клиентская, дилерская)
  • Загрузить изображения
  • Добавить/удалить опции

Сценарий 7: Управление дилерами (Менеджер/Админ)

7.1 Список дилеров

  • Перейти в /dealers
  • Проверить: Отображение списка дилеров
  • Проверить: Фильтры и поиск
  • Для менеджера: Видны только дилеры его компаний

7.2 Создание дилера

  • Нажать "Создать"
  • Заполнить ФИО, email, телефон
  • Выбрать компанию
  • Установить пароль
  • Ожидаемый результат: Дилер создан

7.3 Редактирование дилера

  • Открыть карточку дилера
  • Изменить данные
  • Активировать/деактивировать дилера
  • Проверить: Сохранение изменений

7.4 Удаление дилера

  • Удалить дилера (если есть права)
  • Для менеджера: Можно удалить только "своих" дилеров

Сценарий 8: Управление компаниями

8.1 Список компаний

  • Перейти в /companies
  • Проверить: Отображение списка компаний

8.2 Создание компании

  • Создать новую компанию
  • Заполнить юр. данные (ИНН, ОГРН, адрес)
  • Указать номер договора и дату
  • Назначить менеджера
  • Установить скидку

8.3 Скидки по категориям

  • Открыть редактирование компании
  • Настроить скидки по категориям товаров
  • Проверить: Применение скидок при создании заказа

Сценарий 9: Календарь заказов

9.1 Просмотр календаря

  • Перейти в /calendar/day
  • Перейти в /calendar/week
  • Перейти в /calendar/month
  • Проверить: Отображение заказов на выбранные даты

9.2 Навигация

  • Переключиться на предыдущий/следующий день
  • Переключиться на предыдущую/следующую неделю
  • Переключиться на предыдущий/следующий месяц

9.3 Взаимодействие

  • Кликнуть на заказ в календаре
  • Ожидаемый результат: Переход к редактированию заказа

Сценарий 10: Impersonation (Авторизация под другим пользователем)

10.1 Проверка доступности функции

  • Войти как администратор
  • Перейти в /managers
  • Ожидаемый результат: Кнопка "Авторизоваться" видна у каждого менеджера
  • Перейти в /dealers
  • Ожидаемый результат: Кнопка "Авторизоваться" видна у каждого дилера
  • Перейти в /productions
  • Ожидаемый результат: Кнопка "Авторизоваться" видна у производства

10.2 Выполнение Impersonation

  • В списке менеджеров нажать "Авторизоваться" у любого пользователя
  • Ожидаемый результат: Редирект на главную, интерфейс под выбранным пользователем
  • Проверить: В хедере отображается имя выбранного пользователя
  • Проверить: Доступны только функции согласно роли выбранного пользователя

10.3 Возврат к администратору

  • Нажать "Выйти" (кнопка выхода)
  • Ожидаемый результат: Возврат к администратору (не logout!)
  • Проверить: В хедере отображается имя администратора
  • Проверить: Доступны все админские функции

10.4 Impersonation дилера

  • Войти как дилер через Impersonation
  • Проверить: Видны только заказы этого дилера
  • Проверить: Недоступны админские разделы (компании, менеджеры и т.д.)
  • Выйти → вернуться к администратору

10.5 Безопасность Impersonation

  • Войти как менеджер (НЕ администратор)
  • Перейти в /dealers
  • Ожидаемый результат: Кнопка "Авторизоваться" НЕ видна (нет права)
  • Попытаться перейти напрямую /managers/auth/[id]
  • Ожидаемый результат: Ошибка 403 (Forbidden)

10.6 Права на Impersonation

Функция контролируется правами:

  • can_impersonate - общее право на функцию
  • manager_can_auth - авторизация под менеджером
  • dealer_can_auth - авторизация под дилером
  • production_can_auth - авторизация под производством
  • admin_can_auth - авторизация под администратором

Сценарий 11: Telegram интеграция

11.1 Привязка Telegram

  • Написать боту команду /start
  • Отправить номер телефона
  • Ожидаемый результат: Telegram ID сохранен в профиле пользователя

11.2 Получение уведомлений

  • Создать заказ
  • Изменить статус заказа
  • Ожидаемый результат: Уведомление в Telegram

Сценарий 12: Настройки системы (Админ)

12.1 Статусы заказов

  • Перейти в /statuses
  • Создать новый статус
  • Настроить переходы между статусами
  • Настроить права на переходы

12.2 Политики доступа

  • Перейти в /policies
  • Изменить политики для групп пользователей
  • Проверить: Применение политик

12.3 Склады и производства

  • Управление складами (/stocks)
  • Управление производствами (/manufactures)

Сценарий 13: Безопасность и изоляция данных

13.1 Тест изоляции дилера

  • Войти как дилер
  • Перейти в /orders
  • Проверить: Видны только свои заказы
  • Узнать ID чужого заказа (от другого дилера)
  • Попытаться открыть напрямую /order/edit/[чужой_id]
  • Ожидаемый результат: Ошибка 404 или 403
  • Попытаться открыть /dealers, /companies, /managers
  • Ожидаемый результат: Пустой список или недоступно

13.2 Тест изоляции менеджера

  • Войти как менеджер
  • Перейти в /dealers
  • Проверить: Видны только дилеры своих компаний
  • Узнать ID дилера из чужой компании
  • Попытаться открыть /dealers/edit/[чужой_id]
  • Ожидаемый результат: Недоступно или ошибка
  • Перейти в /companies
  • Проверить: Видны только свои компании

13.3 Тест изоляции производства

  • Войти как производство
  • Перейти в /orders
  • Проверить: Видны только заказы своего производства/склада
  • Попытаться открыть заказ с другого производства
  • Ожидаемый результат: Недоступно

13.4 Тест статусных переходов

  • Войти как дилер
  • Открыть свой заказ
  • Проверить: Доступны только разрешенные переходы статуса
  • Проверить: Недоступные статусы заблокированы (disabled)
  • Войти как менеджер
  • Проверить: Доступны расширенные переходы

13.5 Тест эскалации привилегий (Privilege Escalation)

  • Войти как дилер
  • Попытаться открыть админские маршруты напрямую:
    • /admins → должно быть недоступно
    • /policies → должно быть недоступно
    • /statuses → должно быть недоступно
    • /groups → должно быть недоступно
  • Ожидаемый результат: Все возвращают 403 или редирект

13.6 Тест неавторизованного доступа

  • Выйти из системы (logout)
  • Попытаться открыть защищенные маршруты:
    • /orders → редирект на /login
    • /catalog → редирект на /login
    • /dealers → редирект на /login
  • Ожидаемый результат: Все редиректят на /login

13.7 Чек-лист аудита прав в БД

  • Проверить что у администраторов superadmin = true
  • Проверить что дилеры НЕ имеют orders_can_view (видеть все)
  • Проверить что менеджеры имеют только *_manager_can_* права
  • Проверить матрицу переходов статусов в /statuses
  • Проверить что производство привязано к manufacture_id или stock_id

Сценарий 14: Проверка требований из ТЗ (docs/)

Источник: Документы из папки /docs, особенно "Список_проблем_и_задач_по_системе_ЛК_дилеров.docx"

14.1 Система статусов (проверка цепочки)

Ожидаемая цепочка из ТЗ:

Новая заявка → На утверждение руководителю → Готов к производству 
→ На производстве → Готова к выдаче → На подпись менеджеру → Выполнено
  • Перейти в /statuses
  • Проверить: Соответствуют ли статусы ожидаемой цепочке
  • Проверить: Правильность переходов между статусами
  • Зафиксировать расхождения

14.2 История изменений заказа

  • Открыть любой заказ
  • Найти раздел "История изменений" / "История действий"
  • Проверить: Работает ли история?
  • Изменить статус заказа
  • Ожидаемый результат: Изменение зафиксировано в истории
  • Изменить любое поле заказа
  • Ожидаемый результат: Изменение зафиксировано в истории

⚠️ Клиент указал что история НЕ РАБОТАЕТ

14.3 Конфигуратор - входы 160мм

  • Создать новый заказ
  • Выбрать станцию
  • Проверить: Можно ли добавить входы 160мм?
  • Проверить: Цена входа 160мм = 2000₽ для дилера?
  • Проверить: Максимум 3 входа (торец + лево + право)?

14.4 Конфигуратор - кессоны/погреба

  • Создать заказ с кессоном/погребом
  • Проверить: 4 базовых патрубка бесплатно?
  • Проверить: 5-12 патрубок = 1500₽/шт?

14.5 Статичность данных в завершенных заказах

  • Найти завершенный заказ
  • Запомнить цены и данные
  • Изменить цену товара в каталоге
  • Изменить скидку дилера
  • Вернуться к завершенному заказу
  • Ожидаемый результат: Цены в заказе НЕ изменились

ВАЖНО: Завершенные заказы должны хранить снапшот цен на момент создания

14.6 Серийные номера станций

  • Открыть заказ с несколькими станциями
  • Проверить: Каждая станция имеет свой серийный номер?
  • Как производство добавляет серийные номера?

14.7 Ограничения роли "Производство"

  • Войти как производство
  • Открыть заказ
  • Проверить: Нельзя изменить конфигурацию станции
  • Проверить: Можно только добавить серийный номер
  • Проверить: Нельзя переписываться с дилером

14.8 Заказы для частных клиентов (без дилера)

  • Войти как менеджер
  • Проверить: Есть ли возможность создать заказ БЕЗ привязки к дилеру?
  • Если есть - используется отдельный прайс?

⚠️ Вероятно НЕ реализовано

14.9 Нереализованные роли

Из ТЗ ожидаются роли:

  • Руководитель - более расширенные права чем менеджер → ❓ Есть?
  • Логист - управление датами отгрузки → ❓ Есть?
  • Инженер - график выездов → ❓ Есть?

Сценарий 15: Генерация документов

15.1 Спецификация заказа

  • Открыть заказ
  • Скачать спецификацию (Excel)
  • Проверить: Корректность данных в документе
  • Проверить: Форматирование (цены, даты, названия)

15.2 Бланк заказа

  • Скачать бланк из списка заказов
  • Проверить: Корректность данных

Контрольный список UX проблем

После выполнения сценариев отметить выявленные проблемы:

Визуальные проблемы

  • Битые изображения
  • Проблемы с версткой
  • Некорректное отображение на мобильных
  • Проблемы с цветами/контрастом

Функциональные проблемы

  • Неработающие кнопки
  • Ошибки валидации
  • Проблемы с сохранением данных
  • Некорректные расчеты цен

Проблемы производительности

  • Долгая загрузка страниц
  • Зависания при действиях
  • Большое количество запросов

Проблемы удобства

  • Непонятные сообщения об ошибках
  • Неочевидная навигация
  • Отсутствие обратной связи при действиях

Приоритеты тестирования

  1. Высокий: Авторизация, создание заказа, изменение статусов, безопасность
  2. Средний: Каталог, управление дилерами, календарь, Impersonation
  3. Низкий: Настройки системы, генерация документов, Telegram

Учетные данные для тестирования

Заполнить перед тестированием:

РольEmailПароль
Администратор
Менеджер
Дилер
Производство

On this page

Тестовые сценарии - Личный кабинет дилераРоли для тестированияСценарий 1: Авторизация1.1 Успешный вход1.2 Неверные учетные данные1.3 Выход из системыСценарий 2: Главная страница (Dashboard)2.1 Отображение Dashboard для разных ролейСценарий 3: Создание заказа (Дилер/Менеджер)3.1 Шаг 1: Выбор товара3.2 Шаг 2: Дополнительные товары3.3 Шаг 3: Данные получателя3.4 Шаг 4: Подтверждение3.5 Проверка UXСценарий 4: Список заказов4.1 Просмотр списка4.2 Фильтрация4.3 Поиск4.4 Действия4.5 Проверка правСценарий 5: Редактирование заказа5.1 Просмотр заказа5.2 Изменение статуса5.3 Редактирование полей5.4 Загрузка документовСценарий 6: Каталог товаров6.1 Просмотр каталога6.2 Навигация по категориям6.3 Просмотр товара6.4 Редактирование товара (админ)Сценарий 7: Управление дилерами (Менеджер/Админ)7.1 Список дилеров7.2 Создание дилера7.3 Редактирование дилера7.4 Удаление дилераСценарий 8: Управление компаниями8.1 Список компаний8.2 Создание компании8.3 Скидки по категориямСценарий 9: Календарь заказов9.1 Просмотр календаря9.2 Навигация9.3 ВзаимодействиеСценарий 10: Impersonation (Авторизация под другим пользователем)10.1 Проверка доступности функции10.2 Выполнение Impersonation10.3 Возврат к администратору10.4 Impersonation дилера10.5 Безопасность Impersonation10.6 Права на ImpersonationСценарий 11: Telegram интеграция11.1 Привязка Telegram11.2 Получение уведомленийСценарий 12: Настройки системы (Админ)12.1 Статусы заказов12.2 Политики доступа12.3 Склады и производстваСценарий 13: Безопасность и изоляция данных13.1 Тест изоляции дилера13.2 Тест изоляции менеджера13.3 Тест изоляции производства13.4 Тест статусных переходов13.5 Тест эскалации привилегий (Privilege Escalation)13.6 Тест неавторизованного доступа13.7 Чек-лист аудита прав в БДСценарий 14: Проверка требований из ТЗ (docs/)14.1 Система статусов (проверка цепочки)14.2 История изменений заказа14.3 Конфигуратор - входы 160мм14.4 Конфигуратор - кессоны/погреба14.5 Статичность данных в завершенных заказах14.6 Серийные номера станций14.7 Ограничения роли "Производство"14.8 Заказы для частных клиентов (без дилера)14.9 Нереализованные ролиСценарий 15: Генерация документов15.1 Спецификация заказа15.2 Бланк заказаКонтрольный список UX проблемВизуальные проблемыФункциональные проблемыПроблемы производительностиПроблемы удобстваПриоритеты тестированияУчетные данные для тестирования