AURORA-1832: aware-даты этапов форм и проектов (часовой пояс) #228
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/208-aurora-1832-phase-dates-tz"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #208
Jira: AURORA-1832
Что сделано
timezone_from_offsetвынесен из роутера вapi/src/core/timezones.py, добавленto_org_local_naive(dt, utc_offset): naive без изменений, aware переводится в пояс оргединицы формы и теряет tzinfo (SQL приписывает тот же offset, момент времени сохраняется).FormPhaseServiceиForm3PhaseService(create/update, в update только переданные поля). Роутер передаётutc_offset; в update org_unit загружается до вызова сервиса./stages/form/...и/stages/project/.... Репозитории и SQL не менялись.Тесты
tests/unit/test_form_phase_service_tz.py(хелпер: Z, +03:00, naive, отрицательный offset, 422; сервисы с AsyncMock-репозиторием).+03:00(200, тот же момент) и GET -> PATCH тем же значением.Проверить руками
opens_at: 2026-10-26T10:00:00+03:00-> 200, в ответе тот же момент.Замер до/после
будет добавлен после ночного прогона на стенде perf/ (не перф-задача, замер не требуется).
Rulings I made
🤖 Generated with Claude Code
Проверка красной фазы (контроллер, 28.10): новые тесты запущены на коде origin/test без правки (PG16). test_form_phases_create_aware_dates_keep_instant падает с assert 400 == 200 — воспроизводит баг; unit-тесты на старом коде не собираются (нет src/core/timezones.py). После правки — зелёные (полный прогон в описании PR).