Commit graph lct-hack/backend/tests/test_db.py
Author SHA1 Message Date
gglamer
5a3761a830 refactor: пульт ДДС владеет живыми карточками, сессия не копирует их поля
Связка 112→ДДС больше не подменяет таймеры оператора таймерами первой
карточки ДДС, поэтому время заполнения карточки 112 снова попадает в оценку.
2026-09-26 21:38:09 +00:00
andreysk0304
7237265833 Complete training workflow and acceptance hardening 2026-09-26 17:13:45 +00:00
Ivan Gerasimov
e162b8fab5 fix: test_db.py вешал make test, когда Postgres недоступен
engine.connect() без таймаута — у asyncpg он не задан по умолчанию —
висел на TCP-таймауте ОС вместо быстрого отказа. test_profile.py уже
чинил ровно эту проблему сокетным пробником, test_db.py — исходный файл
с той же логикой — остался с висящим вариантом. Нашлось руками:
Docker недоступен в этой сессии WSL, и make test встал намертво вместо
54 пропущенных тестов.
2026-09-18 16:28:47 +03:00
Ivan Gerasimov
6b2c96bab6 lct-03 и lct-04: журнал сессий и библиотека сценариев
БД: 11 таблиц, первая миграция. Группы и связь trainee → group заложены
сразу, даже пустыми — размечать накопленные сессии задним числом значит
делать лишнюю миграцию. Номер попытки живёт в сессии, отдельной таблицы
попыток нет: дельта считается запросом по (trainee_id, scenario_id).

Сценарии: строгая схема — опечатка в имени поля падает на старте, а не
игнорируется молча. ground_truth собирается кодом, попытка задать
incident_type, dds или required_facts в YAML отвергается: иначе генератор
разведёт факты и эталон и курсанта оштрафуют за правильный ответ. Руками
задаются только нормализованные адрес и число пострадавших — из фразы
«улица Ленина, 14, квартира 47, 5-й этаж» кодом «улица Ленина, 14»
не достать.

GET /api/scenarios/{id} больше не отдаёт чек-лист. Это содержимое
подсказок: отдать его целиком значит выдать в контрольном режиме то,
чего там быть не должно, в обход выдачи по одному пункту.

Тесты базы поднимают свой движок на каждый тест: глобальный кэшируется
и привязывается к первому событийному циклу.
2026-09-15 20:10:05 +03:00