Skip to content

Тестирование системы ​

Раздел описывает полный сквозной тест CRM RMS глазами клиента (через фронтенд), проведённый 16.07.2026, и служит методичкой для повторных прогонов: что тестировать, в каком порядке, что должно происходить и что сейчас работает не так.

Структура раздела ​

СтраницаЧто внутри
Полный флоу-тестПоэтапный сценарий: компании → контакты → проект → команда → смета → документы → логистика → задачи → чаты. По каждому шагу: как воспроизвести, ожидаемый результат, фактический результат.
Генерация документовДетальный разбор PDF-документов (смета, счёт, акт, договор): какие данные и откуда попадают в документ, что сломано, что нужно доработать.
Права и ролиЧто реально видит каждая роль на фронте, как устроена проверка прав, ограничения текущих seed-пользователей.
Реестр дефектовСводная таблица всех найденных багов и доработок с приоритетами.

Тестовый стенд ​

  • Фронтенд: rms_crm_front, pnpm dev (Vite), VITE_API_BASE_URL=http://localhost:8088/api/v1.
  • Бэкенд: crm_rms, Docker Compose (compose.yaml + compose.local.yaml), gateway на :8088.
  • БД: staging PostgreSQL (crm_rms_staging). Перед прогоном обязательно накатить seed:
bash
cd crm_rms
docker compose -f compose.yaml -f compose.local.yaml run --rm seed

Seed идемпотентен, создаёт пользователей, проекты [SEED] …, оборудование, справочники (см. seed.md).

Учётные записи для теста ​

EmailПарольКем тестировать
admin@seed.rmsAdmin123!Администратор: полный доступ, админ-разделы
manager@seed.rmsManager123!Менеджер проекта: основной сценарий ведения проекта
logist@seed.rmsLogist123!Логист: заявки от менеджеров, операции
engineer@seed.rmsEngineer123!Инженер: задачи, чаты
accountant@seed.rmsAccountant123!Бухгалтер: бюджет, документы
executor@seed.rmsExecutor123!Соисполнитель: только свои задачи

Роли seed-пользователей

Seed выдаёт реальные системные роли: logist/executor — employee, инженер — engineer, бухгалтер — accountant, юрист — lawyer. Функции logistician/engineer/accountant/lawyer сохраняются в global_function. Повторный запуск синхронизирует user_roles и не возвращает этим пользователям роль manager.

Сводка результата прогона 16.07.2026 ​

Что работает end-to-end:

  • Логин/логаут, восстановление контекста, редиректы.
  • Компании: создание с автозаполнением по ИНН (DaData), карточка, банковские счета по БИК, печать карточки в PDF.
  • Контакты: создание из карточки компании, привязка, карточка контакта.
  • Проекты: создание с клиентом/контактом/локацией/НДС, карточка, вкладки.
  • Команда проекта: добавление участников с ролями (со статусом «Ожидает»).
  • Смета: статьи затрат (через API), итоги, НДС «включён 22%» считается корректно (770 000 → НДС 138 852,46).
  • Генерация документов: смета/акт/договор — корректные PDF; нумерация по типам работает.
  • Оборудование проекта: подбор из каталога, цены, дефицит, создание заявки логистам.
  • Задачи: создание, канбан, статусы (Планируется → В работе → Готово), учёт времени, чат задачи.
  • Чаты: личные, чат проекта (создаётся автоматически), сообщения.

Что сломано или блокирует флоу (детали в реестре):

  1. PDF счёта полностью нечитаем — кириллица не рендерится (заглушка SimplePDFGenerator).
  2. Добавление статьи затрат из UI падает с 400 — фронт шлёт поле name, бэкенд его не знает.
  3. Настройки сметы не сохраняются (400) — фронт шлёт planned_budget, бэкенд ждёт markup_percent/vat_display_mode/….
  4. Вкладка «Документы» проекта — мок: реальные сгенерированные документы там не видны.
  5. Логистическая операция из заявки не создаётся ни одним из способов («Перемещение» блокируется автопланом, «Покупка» — валидацией локации «Закупка»).
  6. Типа документа «дополнительное соглашение» не существует ни на бэке, ни на фронте.

Загружаем документацию…