Прогнал api/tests/integration/test_form2_ahr_satellite_spod_integration.py
против живого Postgres (perf/perf/perf на localhost:55432, БД dfip_1906,
alembic upgrade head + фикстура) — нашёл и поправил два бага самого теста
(фичу/миграцию не трогал):
- _find_row не учитывал служебную META-строку (editable/role/user_id без
id/header), которую v3.v_form_view добавляет первой в любой лист —
KeyError: 'id' на первой же выборке. Теперь ищет только среди INPUT-строк.
- test_satellite_spod_phase_gates_non_admin_user делал один тест из
"запрет без fact_q4.spod → добавили ключ → разрешено": неадминский
403/400 от isp1 внутри теста вызывает db_ref.rollback() в
tests/integration/conftest.py (per-request откат на ошибке), который
стирает все несохранённые изменения этого же теста — включая только
что созданные строку сателлита и form_phase. Разбил на два независимых
теста (test_satellite_spod_rejected_before_phase_includes_spod_column /
test_satellite_spod_allowed_once_phase_includes_spod_column), в каждом
ровно один запрос, которому разрешено провалиться.
pytest tests/integration — 157 passed, 1 failed (pre-existing,
не связан: test_backend_calls_form3_add_project_and_add_line_functions,
FORM_3/add_project, 400 на /api/v1/projects/.../report/.../line), 4 skipped.
Новый файл — 15/15.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>