|
|
@@ -0,0 +1,417 @@
|
|
|
+# Сценарий приёмочной проверки графика заказов и рекламаций
|
|
|
+
|
|
|
+Дата подготовки: **04.09.2026**.
|
|
|
+
|
|
|
+Связанные документы:
|
|
|
+
|
|
|
+- [ТЗ: График заказов](tz-order-schedule.md)
|
|
|
+- [Ответы заказчика по графику заказов](tz-order-schedule-answers.md)
|
|
|
+- [ТЗ: Модуль «Графики»](tz-schedules.md)
|
|
|
+- [ТЗ: Рекламации](tz-reclamations.md)
|
|
|
+- [План рефакторинга](plan.md)
|
|
|
+
|
|
|
+## 1. Область проверки
|
|
|
+
|
|
|
+Проверяется ручной контур этапов 9 и 10:
|
|
|
+
|
|
|
+- список и карточка производственных заказов;
|
|
|
+- позиции МАФ из общего каталога;
|
|
|
+- статусы, фильтры и права на поля;
|
|
|
+- доставки и монтажи;
|
|
|
+- документы, фотографии, паспорта МАФ и чат;
|
|
|
+- экспорт и формирование документов;
|
|
|
+- уведомления и журнал действий;
|
|
|
+- создание рекламации типа `Прочее` по выбранным МАФ.
|
|
|
+
|
|
|
+В эту проверку **не входят** импорт XLS, обмен с 1С и перенос истории из старого Manager: для них ещё требуется согласованный формат данных.
|
|
|
+
|
|
|
+## 2. Что подготовить
|
|
|
+
|
|
|
+- Пользователя с ролью `Администратор`.
|
|
|
+- Пользователей с ролями `Помощник руководителя`, `Менеджер`, `Водитель` и `Бригадир`.
|
|
|
+- В общем каталоге — минимум две позиции МАФ:
|
|
|
+ - у первой есть картинка и технические документы; для проверки документов ДКР можно использовать артикул `1112` или `5001`;
|
|
|
+ - у второй нет картинки либо нет технических документов — для проверки пустых состояний.
|
|
|
+- Небольшой файл PDF или DOCX, фотографию JPG/PNG/WebP и скан паспорта МАФ.
|
|
|
+- Работающий обработчик очереди. Экспорт и пакеты документов выполняются в фоне и после постановки задачи могут появиться не сразу.
|
|
|
+
|
|
|
+Для тестовых данных удобно использовать номер с префиксом `TEST`, например `TEST-0904.26`, и даты ближайшей недели. После проверки такой заказ можно удалить администратором.
|
|
|
+
|
|
|
+## 3. Быстрая критическая проверка
|
|
|
+
|
|
|
+Если времени мало, сначала выполнить пункты 3.1–3.7. Они покрывают основной пользовательский путь.
|
|
|
+
|
|
|
+### 3.1. Открытие раздела
|
|
|
+
|
|
|
+1. Войти администратором.
|
|
|
+2. Открыть меню `Графики → График заказов`.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- страница открывается без ошибки 403;
|
|
|
+- видны таблица, кнопки `Экспорт` и `Добавить заказ`;
|
|
|
+- в таблице есть колонки с датами доставки и монтажа;
|
|
|
+- `Дата отгрузки по заявке` видна администратору.
|
|
|
+
|
|
|
+### 3.2. Создание заказа
|
|
|
+
|
|
|
+1. Нажать `Добавить заказ`.
|
|
|
+2. Заполнить обязательные поля:
|
|
|
+ - номер и год заказа;
|
|
|
+ - заказчик;
|
|
|
+ - адрес объекта;
|
|
|
+ - менеджер;
|
|
|
+ - статус;
|
|
|
+ - тип исполнения;
|
|
|
+ - номер счёта;
|
|
|
+ - дату оплаты;
|
|
|
+ - срок поставки в рабочих днях.
|
|
|
+3. В блоке `Оборудование` ввести не менее двух символов артикула или наименования.
|
|
|
+4. Выбрать позицию общего каталога, указать количество `2` и добавить её.
|
|
|
+5. Добавить вторую позицию каталога количеством `1`.
|
|
|
+6. Для строк заполнить разные номера заказа МАФ.
|
|
|
+7. Нажать `Сохранить`.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- заказ сохраняется и открывается его карточка;
|
|
|
+- слева расположены поля заказа, справа — оборудование;
|
|
|
+- одинаковая позиция количеством `2` представлена двумя отдельными строками;
|
|
|
+- всего в заказе три экземпляра МАФ;
|
|
|
+- у позиции с картинкой показана миниатюра, по нажатию открывается просмотр;
|
|
|
+- рассчитана `Дата отгрузки по договору`: дата оплаты плюс срок поставки по производственному календарю;
|
|
|
+- введённые значения сохраняются после обновления страницы.
|
|
|
+
|
|
|
+### 3.3. Доставка и монтаж
|
|
|
+
|
|
|
+1. В карточке нажать `Перенести в график доставок`.
|
|
|
+2. В блоке новой доставки выбрать дату текущей или следующей недели, время и водителя.
|
|
|
+3. Раскрыть `Данные заявки и перевозки`, заполнить несколько дополнительных полей.
|
|
|
+4. Сохранить доставку.
|
|
|
+5. Аналогично нажать `Перенести в график монтажей`, выбрать дату, число дней и бригадира, затем сохранить.
|
|
|
+6. Добавить по второй доставке и второму монтажу с другими датами.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- у одного заказа сохраняется несколько доставок и монтажей;
|
|
|
+- все записи отображаются отдельными блоками в карточке;
|
|
|
+- в списке заказов показаны все даты доставки и монтажа;
|
|
|
+- в журнале действий появились записи о назначении доставки и монтажа с датой, исполнителем и автором изменения.
|
|
|
+
|
|
|
+### 3.4. Проверка графиков
|
|
|
+
|
|
|
+1. Открыть `Графики → График доставок`.
|
|
|
+2. Перейти на неделю созданной доставки с помощью даты или стрелок.
|
|
|
+3. Нажать номер заказа в строке доставки.
|
|
|
+4. Открыть действующий `График монтажей` и найти созданный монтаж.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- доставка находится в нужном дне недели;
|
|
|
+- показаны время, номер заказа, заказчик, адрес, водитель, перевозчик и примечание;
|
|
|
+- номер заказа ведёт обратно в его карточку;
|
|
|
+- монтаж отображается в существующем графике монтажей и ведёт к тому же производственному заказу.
|
|
|
+
|
|
|
+### 3.5. Файлы и документы
|
|
|
+
|
|
|
+1. Загрузить в `Документы` PDF или DOCX.
|
|
|
+2. Загрузить в `Фотографии` изображение.
|
|
|
+3. Загрузить скан паспорта в одной строке МАФ.
|
|
|
+4. Нажать `Экспорт МАФ`.
|
|
|
+5. Для доставки нажать `Документы для доставки`.
|
|
|
+6. Для монтажа нажать `Документы для монтажа`.
|
|
|
+7. Выбрать один или несколько МАФ чекбоксами и нажать `Скачать техдокументацию`.
|
|
|
+8. Дождаться обработки очереди и открыть сформированные файлы из уведомления или списка доступных файлов.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- у обычного документа показана иконка его MIME-типа и ссылка на скачивание;
|
|
|
+- фотография отображается миниатюрой и открывается в просмотрщике;
|
|
|
+- в строке МАФ паспорт меняется с отсутствующего на загруженный и доступен для скачивания;
|
|
|
+- экспорт МАФ содержит реквизиты заказа и отдельную строку для каждого экземпляра;
|
|
|
+- заявка на доставку сформирована из шаблона для выбранной доставки;
|
|
|
+- монтажный пакет и архив техдокументации создаются без ошибки;
|
|
|
+- техдокументация собирается только для отмеченных МАФ.
|
|
|
+- в архив попадают схемы ДКР из `public/images/tech-docs/{артикул}` и дополнительные документы общего каталога; файлы с одинаковым именем не дублируются.
|
|
|
+
|
|
|
+### 3.6. Создание рекламации
|
|
|
+
|
|
|
+1. В таблице оборудования отметить два МАФ.
|
|
|
+2. Нажать `Создать рекламацию`.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- без выбора МАФ форма не отправляется и просит выбрать хотя бы одну позицию;
|
|
|
+- с выбранными МАФ создаётся рекламация и открывается её карточка;
|
|
|
+- тип рекламации — `Прочее`;
|
|
|
+- в поле площадки/заказа есть ссылка с заказчиком и адресом, ведущая в карточку производственного заказа;
|
|
|
+- в оборудовании рекламации отображаются только выбранные МАФ с картинкой, артикулом, номером заказа МАФ, заводским номером и датой производства;
|
|
|
+- действия для платёжной документации и документы ДКР отсутствуют;
|
|
|
+- остальные возможности рекламации — детали, запчасти, фотографии, акты и чат — остаются доступны согласно правам пользователя.
|
|
|
+
|
|
|
+### 3.7. Вкладки рекламаций
|
|
|
+
|
|
|
+1. Открыть `Рекламации → Все` и найти созданную рекламацию.
|
|
|
+2. Открыть вкладку `ДКР`.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- рекламация типа `Прочее` присутствует во вкладке `Все`;
|
|
|
+- во вкладке `ДКР` её нет;
|
|
|
+- существующие рекламации ДКР продолжают отображаться и работать как раньше.
|
|
|
+
|
|
|
+## 4. Полная проверка списка заказов
|
|
|
+
|
|
|
+### 4.1. Колонки и сортировка
|
|
|
+
|
|
|
+Проверьте наличие колонок:
|
|
|
+
|
|
|
+- ID;
|
|
|
+- номер заказа;
|
|
|
+- заказчик;
|
|
|
+- адрес объекта;
|
|
|
+- номер счёта;
|
|
|
+- дата оплаты;
|
|
|
+- срок поставки;
|
|
|
+- дата отгрузки по договору;
|
|
|
+- дата отгрузки по заявке — только для администратора по умолчанию;
|
|
|
+- статус;
|
|
|
+- даты доставки;
|
|
|
+- даты монтажа;
|
|
|
+- менеджер;
|
|
|
+- примечание.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- при первом открытии новые заказы находятся выше старых;
|
|
|
+- переход в карточку и кнопка `Назад` возвращают к прежнему списку с фильтрами;
|
|
|
+- выбранный в основном интерфейсе год не скрывает заказы графика: модуль использует собственный год заказа.
|
|
|
+
|
|
|
+### 4.2. Фильтры и поиск
|
|
|
+
|
|
|
+1. Последовательно проверить фильтр по номеру, заказчику, статусу и менеджеру.
|
|
|
+2. Проверить фильтры дат доставки и монтажа.
|
|
|
+3. У заказа с несколькими датами выбрать каждую дату по очереди.
|
|
|
+4. Проверить поиск по номеру, заказчику и адресу.
|
|
|
+5. Сбросить фильтры.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- каждый фильтр оставляет только совпадающие заказы;
|
|
|
+- фильтры доставки и монтажа предлагают выбор существующих значений, а не диапазон дат;
|
|
|
+- заказ находится по любой связанной дате доставки или монтажа;
|
|
|
+- сброс возвращает полный список.
|
|
|
+
|
|
|
+### 4.3. Цвета и просрочка
|
|
|
+
|
|
|
+1. По очереди менять статус тестового заказа и возвращаться в список.
|
|
|
+2. Установить статус `Закрыт`.
|
|
|
+3. Для отдельной проверки создать или изменить незакрытый заказ так, чтобы дата отгрузки по договору оказалась в прошлом.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- цветом статуса подсвечивается вся строка заказа;
|
|
|
+- закрытая строка отображается полупрозрачной;
|
|
|
+- у незакрытого просроченного заказа номер визуально выделен красным;
|
|
|
+- закрытый заказ не помечается как просроченный.
|
|
|
+
|
|
|
+### 4.4. Экспорт отфильтрованного списка
|
|
|
+
|
|
|
+1. Установить фильтр, оставляющий только тестовый заказ.
|
|
|
+2. Нажать `Экспорт`.
|
|
|
+3. Дождаться обработки фоновой задачи и открыть XLSX.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- в файле находятся только записи, соответствующие текущим фильтрам и поиску;
|
|
|
+- один заказ занимает одну строку;
|
|
|
+- оборудование заказа агрегировано в одной колонке;
|
|
|
+- реквизиты и даты заказа соответствуют карточке.
|
|
|
+
|
|
|
+## 5. Полная проверка карточки
|
|
|
+
|
|
|
+### 5.1. Редактирование оборудования
|
|
|
+
|
|
|
+1. Добавить ещё один МАФ из общего каталога.
|
|
|
+2. Изменить номер заказа МАФ, заводской номер и дату производства.
|
|
|
+3. Удалить одну ещё не использованную в рекламации позицию.
|
|
|
+4. Сохранить и обновить страницу.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- добавление одной позиции создаёт одну новую строку;
|
|
|
+- изменения сохраняются у правильного экземпляра;
|
|
|
+- удалённая строка исчезает, остальные не меняются;
|
|
|
+- миниатюра всегда относится к выбранной позиции общего каталога.
|
|
|
+
|
|
|
+### 5.2. Изменение статуса и аудит
|
|
|
+
|
|
|
+1. Запомнить число записей журнала.
|
|
|
+2. Изменить обычное поле, например примечание, и сохранить.
|
|
|
+3. Изменить статус и сохранить.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- изменение примечания не создаёт запись журнала;
|
|
|
+- изменение статуса создаёт ровно одну новую значимую запись с автором и временем;
|
|
|
+- добавление доставок и монтажей также фиксируется в журнале.
|
|
|
+
|
|
|
+### 5.3. Редактирование и удаление планов
|
|
|
+
|
|
|
+1. Изменить дату или исполнителя существующей доставки.
|
|
|
+2. Изменить параметры монтажа.
|
|
|
+3. Проверить новые значения в соответствующих графиках.
|
|
|
+4. Удалить одну доставку и один монтаж.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- изменения сразу отражаются в карточке и графиках;
|
|
|
+- удалённые записи исчезают, остальные доставки и монтажи сохраняются;
|
|
|
+- нельзя случайно изменить запись, принадлежащую другому заказу.
|
|
|
+
|
|
|
+### 5.4. Чат
|
|
|
+
|
|
|
+1. Отправить обычное сообщение.
|
|
|
+2. Если интерфейс позволяет, адресовать сообщение конкретному пользователю.
|
|
|
+3. Обновить страницу.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- сообщение остаётся в чате этого заказа;
|
|
|
+- отображаются автор и время;
|
|
|
+- чат другого заказа не содержит это сообщение.
|
|
|
+
|
|
|
+## 6. Проверка прав
|
|
|
+
|
|
|
+Права могут быть изменены администратором индивидуально. Ниже указаны ожидаемые права ролей по умолчанию после применения миграций.
|
|
|
+
|
|
|
+### 6.1. Администратор
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- доступны создание, полное редактирование и удаление заказа;
|
|
|
+- доступны управление МАФ, доставками, монтажами и файлами;
|
|
|
+- доступны экспорт и генерация документов;
|
|
|
+- видна и редактируется `Дата отгрузки по заявке`.
|
|
|
+
|
|
|
+### 6.2. Помощник руководителя
|
|
|
+
|
|
|
+1. Войти помощником и открыть тестовый заказ.
|
|
|
+2. Попробовать изменить адрес, примечание, заводской номер и дату производства.
|
|
|
+3. Проверить доставки, монтажи, документы, фотографии, паспорта и чат.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- разрешены адрес, примечание, заводской номер и дата производства;
|
|
|
+- доступны управление доставками, монтажами, документами, фотографиями и паспортами;
|
|
|
+- недоступны административные поля и `Дата отгрузки по заявке`;
|
|
|
+- нельзя добавлять или удалять состав заказа, если отдельное право не выдано администратором.
|
|
|
+
|
|
|
+### 6.3. Менеджер
|
|
|
+
|
|
|
+Ожидаемый результат по умолчанию:
|
|
|
+
|
|
|
+- список и карточка доступны для чтения;
|
|
|
+- административные поля и `Дата отгрузки по заявке` не видны либо недоступны для изменения;
|
|
|
+- редактирование производственного заказа, доставок и монтажей недоступно;
|
|
|
+- доступен чат;
|
|
|
+- при наличии стандартного права создания рекламаций доступно создание рекламации по выбранным МАФ.
|
|
|
+
|
|
|
+### 6.4. Водитель и бригадир
|
|
|
+
|
|
|
+Ожидаемый результат по умолчанию:
|
|
|
+
|
|
|
+- график заказов доступен для чтения;
|
|
|
+- водитель присутствует в списке выбора водителя, бригадир — в списке выбора бригадира;
|
|
|
+- управление заказом без отдельно выданных прав недоступно;
|
|
|
+- назначенные пользовательские уведомления приходят только при включённых событиях и каналах.
|
|
|
+
|
|
|
+### 6.5. Индивидуальная настройка прав
|
|
|
+
|
|
|
+1. Администратором открыть карточку пользователя.
|
|
|
+2. Выдать или запретить одно действие либо просмотр/редактирование одного поля графика заказов.
|
|
|
+3. Перезайти этим пользователем и проверить карточку.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- изменение применяется только к выбранному праву;
|
|
|
+- запрет роли или пользователя имеет приоритет над разрешением;
|
|
|
+- скрытое поле отсутствует и в карточке, и в списке;
|
|
|
+- отсутствие права на действие скрывает кнопку и запрещает прямой запрос к маршруту.
|
|
|
+
|
|
|
+## 7. Проверка уведомлений
|
|
|
+
|
|
|
+1. В карточке получателя включить в разделе `График заказов` браузерный канал для событий:
|
|
|
+ - создан заказ;
|
|
|
+ - изменён статус;
|
|
|
+ - добавлена доставка;
|
|
|
+ - добавлена дата монтажа;
|
|
|
+ - добавлена рекламация.
|
|
|
+2. Выполнить каждое событие другим пользователем.
|
|
|
+3. Проверить уведомления менеджера заказа, назначенного водителя и бригадира.
|
|
|
+4. Отключить одно событие и повторить его.
|
|
|
+
|
|
|
+Ожидаемый результат:
|
|
|
+
|
|
|
+- уведомления получают только связанные с заказом пользователи;
|
|
|
+- текст содержит номер заказа, событие и автора изменения;
|
|
|
+- ссылка открывает нужный заказ;
|
|
|
+- после отключения события новое уведомление по нему не создаётся;
|
|
|
+- изменение обычного поля заказа не создаёт отдельного уведомления.
|
|
|
+
|
|
|
+## 8. Негативные проверки
|
|
|
+
|
|
|
+- Попытаться сохранить второй заказ с тем же номером и годом — ожидается ошибка уникальности.
|
|
|
+- Использовать тот же номер в другом году — сохранение должно быть разрешено.
|
|
|
+- Нажать `Создать рекламацию` без выбранных МАФ — ожидается предупреждение, рекламация не создаётся.
|
|
|
+- Попытаться сформировать техдокументацию без выбранных МАФ — ожидается предупреждение.
|
|
|
+- Открыть карточку или действие без необходимого права прямой ссылкой — ожидается 403, а не выполнение действия.
|
|
|
+- Указать в запросе рекламации МАФ другого заказа — рекламация не должна создаваться.
|
|
|
+- Открыть сгенерированный файл другим обычным пользователем — ожидается запрет; файл доступен инициатору и администратору.
|
|
|
+- Удалить доставку или монтаж и обновить график — удалённая запись не должна вернуться.
|
|
|
+
|
|
|
+## 9. Что прислать разработчику при ошибке
|
|
|
+
|
|
|
+Для каждого несоответствия желательно указать:
|
|
|
+
|
|
|
+1. роль и имя пользователя;
|
|
|
+2. раздел и номер заказа;
|
|
|
+3. выполненные действия;
|
|
|
+4. что ожидалось и что получилось;
|
|
|
+5. скриншот;
|
|
|
+6. примерное время ошибки;
|
|
|
+7. текст ошибки из интерфейса, если он есть.
|
|
|
+
|
|
|
+Шаблон:
|
|
|
+
|
|
|
+```text
|
|
|
+Роль:
|
|
|
+Заказ:
|
|
|
+Раздел:
|
|
|
+Шаги:
|
|
|
+Ожидалось:
|
|
|
+Получилось:
|
|
|
+Время:
|
|
|
+```
|
|
|
+
|
|
|
+## 10. Итоговый чек-лист приёмки
|
|
|
+
|
|
|
+- [ ] Заказ создаётся и повторно открывается без потери данных.
|
|
|
+- [ ] Одинаковые МАФ хранятся отдельными экземплярами.
|
|
|
+- [ ] Картинки каталога отображаются и открываются.
|
|
|
+- [ ] Договорная дата рассчитывается по рабочим дням.
|
|
|
+- [ ] Строки списка окрашены по статусу, закрытые полупрозрачны, просрочка заметна.
|
|
|
+- [ ] Все фильтры работают; даты доставки и монтажа выбираются из значений.
|
|
|
+- [ ] У одного заказа работают несколько доставок и монтажей.
|
|
|
+- [ ] Доставка видна в недельном графике, монтаж — в графике монтажей.
|
|
|
+- [ ] Документы, фотографии и паспорта загружаются и открываются корректно.
|
|
|
+- [ ] Экспорт и все пакеты документов формируются.
|
|
|
+- [ ] Журнал содержит только согласованные значимые действия.
|
|
|
+- [ ] Чат работает внутри конкретного заказа.
|
|
|
+- [ ] Уведомления учитывают настройки событий и каналов.
|
|
|
+- [ ] Права администратора, помощника, менеджера, водителя и бригадира соответствуют ожиданиям.
|
|
|
+- [ ] Рекламация создаётся только по выбранным МАФ и получает тип `Прочее`.
|
|
|
+- [ ] Рекламация видна в `Все`, отсутствует в `ДКР`, платёжные документы недоступны.
|
|
|
+- [ ] Существующие площадки, график монтажей и рекламации ДКР продолжают работать.
|
|
|
+
|
|
|
+Итог проверки: **принято / принято с замечаниями / требуется доработка**.
|