{
"id": "019ef461-28f4-7fbb-91bc-a827ad53f643",
"testId": "019ef461-17e3-7eaa-80ab-97169442e532",
"testProgramId": "019ef461-39a5-70cc-a2cd-b9384e10a754",
"member": {
"id": "019ef461-4ab6-71dd-b3de-ca49f021b865",
"name": "Иванов Иван Иванович",
"email": "ivanov@example.ru"
},
"status": "ended",
"resultStatus": "passed",
"title": "Итоговый тест по основам ООП",
"description": "Проверка знаний по основным принципам объектно-ориентированного программирования.",
"duration": "PT45M",
"attemptsQuantity": 3,
"pointsToPass": 70,
"autoChecking": true,
"autoEvaluation": true,
"points": {
"current": 82,
"max": 100
},
"attempts": [
{
"id": "019ef461-5bc7-72ee-c4ef-db5a0132c976",
"testMemberId": "019ef461-28f4-7fbb-91bc-a827ad53f643",
"number": 2,
"status": "sent_to_checking",
"points": {
"current": 82,
"max": 100
},
"dateStart": "2026-09-15T14:30:00.123456+0300",
"dateEndPlan": "2026-09-15T15:15:00.123456+0300",
"dateEnd": "2026-09-15T15:05:00.123456+0300",
"questions": [
{
"id": "019ef461-6cd8-73ff-d500-ec6b1243da87",
"attemptId": "019ef461-5bc7-72ee-c4ef-db5a0132c976",
"testProgramQuestionId": "019ef461-7de9-7400-e611-fd7c2354eb98",
"type": "single-choice",
"title": "Выберите определение инкапсуляции",
"description": "Выберите один правильный вариант ответа.",
"explanation": "Инкапсуляция ограничивает прямой доступ к внутреннему состоянию объекта.",
"sort": 1,
"status": "answer_final",
"result": "correct",
"points": {
"current": 10,
"max": 10
},
"data": {
"randomizeChoices": true,
"choices": [
{
"label": "Сокрытие внутреннего состояния объекта",
"sort": 1,
"isCorrect": true
},
{
"label": "Копирование объекта",
"sort": 2,
"isCorrect": false
}
]
}
}
]
}
]
}