You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

7.9 KiB

Состояние проекта (человеческий обзор)

Репозиторий: TestingWebApp · ветка разработки: dev
Дата среза: 2026-04-24

Этот документ — не дублирование ТЗ, а короткое объяснение, что уже работает в коде и что логично делать дальше. Подробные задачи: revision_task/card1.md, revision_task/BACKLOG.md.


Что уже сделано (как это устроено)

Вход и роли

  • Сотрудник входит по логину и паролю (сессия через cookie + JWT).
  • В шапке показываются роль и Фамилия с инициалами (например, Иванов И. О.), полное ФИО — во всплывающей подсказке.
  • В режиме разработки (NODE_ENV=development) у удобного тестирования могут быть дополнительные кнопки (например, создание теста сотрудником — devUi в ответе /api/auth/me).

«Цепочка» теста и черновики

  • У каждого теста есть одна логическая цепочка в базе: все правки вопросов относятся к ней, но версия контента (v1, v2, …) может расти.
  • Пока никто не проходил этот тест — автор правит на месте: сохраняет черновик, и меняется текущая активная версия без лишнего дублирования строк в истории.
  • Как только по цепочке появилась хотя бы одна завершённая попытка — каждое содержательное сохранение с изменениями создаёт новую версию (новый номер, старая остаётся в истории). Старые результаты остаются привязаны к той версии, с которой человек реально отвечал.
  • Активная версия — та, с которой сейчас стартуют новые попытки. Автор может вручную переключить активную версию в таблице истории (с подтверждением), если бизнесу так нужно.
  • Публикация: тест можно скрыть из общего списка (цепочка остаётся в базе; автор видит скрытые в отдельном блоке и может вернуть в список).

Список тестов и доступ

  • В каталоге «Тесты» видны цепочки, где вы автор, и тесты, назначенные вам (через назначение на пользователя; в dev назначения обычно включены).
  • Под названием показывается «Автор: Вы» для своих тестов и «Автор: Фамилия И. О.» для чужих (назначенных).
  • Пройти тест — кнопка справа в строке; карточка теста — клик по названию слева (попытка с карточки не стартует сама).

Прохождение и результат

  • Открывается экран вопросов (один или несколько верных вариантов); после «Завершить тест» — итог: сколько верно, процент, зачёт по порогу.
  • Разбор: после сдачи показывается, по каждому вопросу, что выбрал пользователь и какие варианты верны. Отдельная страница разбора доступна по ссылке; автор на карточке теста видит раздел «Прогоны и разбор» по завершённым попыткам.

Импорт и ИИ (MVP)

  • Можно загрузить файл (PDF, DOCX, текст): сервер извлекает текст и при настроенном ключе LLM (например, DEEPSEEK_API_KEY / OPENAI_API_KEY в окружении) предлагает черновик вопросов. Дальше тот же поток, что и при ручном редактировании: правки → сохранить черновик (с учётом правил версий выше).
  • Полный набор сценариев из ТЗ (отдельная страница настроек ключа, «проверить тест целиком», модалки с чекбоксами и т.д.) — в sprint-02; часть уже заложена в сервисах, UI доводится.

Назначения (MVP)

  • Автор на карточке теста может назначить сотрудников из справочника (в dev — через поиск/каталог, если фича включена в docker-compose / .env). Назначение не перепривязывается автоматически к каждой новой версии контента: старт попытки всегда берёт текущую активную версию на момент нажатия «Пройти».

Интеграция с HR (в зачатке)

  • Поддержан сценарий входа через учётки HR (HR_AUTH + HR_DATABASE_URL) для проверок на одном кластере Postgres с экосистемой Postgres_TG_Bots (см. README — установка).
  • Целевой RBAC из HR-таблиц — card1, часть A; сейчас — упрощённое сопоставление ролей.

Что в планах (логичный следующий слой)

Направление Суть
AI по ТЗ §4.2 Ключ в настройках (не на клиенте), кнопки «сгенерировать/проверить/улучшить» с превью и подтверждением, регресс с версиями.
Дашборды (ТЗ этап 2) Единая картина по отделу / клинике, фильтры, история.
MAX / мини-приложение Встраивание в общий HR-контур клиники.
Таймер, подсказки, медиа в вопросах Режимы прохождения и вложения — отдельные этапы ТЗ.
E2E и интеграционные тесты Расширение V.9, стабильный CI.
Назначения Сроки, лимит попыток, назначения «по отделу» (частично в бэклоге BACKLOG_IDEAS).

Журнал приёмок и чек-листы: TESTING_JOURNAL.md.


Связанные файлы