a68331c86b
- PROJECT_STATUS: что сделано (черновики, версии, разбор, каталог) и планы - DEV_CONTOUR_USER_GUIDE: сценарии для проверяющих на dev-стенде - README, ТЗ, card1, журнал, бэклоги, шаги 01–11+README, спринты, TEST_TABLES: ссылки и примечания - backend/PROGRESS: ссылка на PROJECT_STATUS Made-with: Cursor
2.6 KiB
2.6 KiB
Шаг 8: Результаты и разбор ошибок
Цель
Реализовать отображение результатов теста и разбора ответов сотруднику.
Реализация в dev: ответ POST …/attempts/:id/submit включает поле review; отдельно GET /api/tests/:testId/attempts/:attemptId/review (см. ../PROJECT_STATUS.md).
Задачи
8.1. Просмотр результатов
| Эндпоинт | Метод | Описание |
|---|---|---|
/api/attempts/:id/result |
GET | Получить результат |
Ответ:
{
"test_title": "Название теста",
"version": 1,
"correct_count": 8,
"total_questions": 10,
"percentage": 80,
"passed": true,
"passing_threshold": 75,
"completed_at": "2026-03-21T10:30:00Z"
}
8.2. Разбор ошибок
| Эндпоинт | Метод | Описание |
|---|---|---|
/api/attempts/:id/review |
GET | Получить разбор |
Ответ:
{
"questions": [
{
"id": "uuid",
"text": "Текст вопроса",
"user_selected": ["option_id_1", "option_id_2"],
"correct_options": ["option_id_1", "option_id_3"],
"is_correct": false,
"options": [
{ "id": "option_id_1", "text": "Вариант А", "is_correct": true },
{ "id": "option_id_2", "text": "Вариант Б", "is_correct": false },
{ "id": "option_id_3", "text": "Вариант В", "is_correct": true }
]
}
]
}
8.3. Логика отображения
- Сразу после завершения — перенаправление на страницу результатов
- Показывать балл, процент, зачёт/не зачёт
- Для каждого вопроса:
- Выбранные ответы сотрудника
- Правильные ответы
- Индикатор правильно/неправильно
- Все варианты ответов с подсветкой
8.4. Доступ
- Сотрудник видит только свои результаты
- Результаты доступны после завершения попытки
Результат
- Итоговый балл и процент
- Статус зачёта
- Полный разбор по каждому вопросу
Актуальная привязка к коду: ../PROJECT_STATUS.md · индекс шагов: README.md.