fix(tests): согласовать AURORA-1844/1846/1850 с null-strip из AURORA-1848 #279

Merged
aep merged 1 commits from fix/null-strip-test-contract into test 2026-11-01 11:40:56 +03:00
Owner

После слияния веток в test обнаружился конфликт контрактов между AURORA-1848 (#239/#242: GET без null-полей, PATCH осознанно без изменений — задокументировано в #242 как breaking) и тестами AURORA-1844/1850 (сравнение PATCH==GET побайтно) и AURORA-1846 (ожидание null в GET). Правка нормализует сравнение через strip_nulls на стороне теста, не меняя сам API-контракт. Полный pytest: 340 passed, 3 known baseline failed, 4 skipped.

После слияния веток в test обнаружился конфликт контрактов между AURORA-1848 (#239/#242: GET без null-полей, PATCH осознанно без изменений — задокументировано в #242 как breaking) и тестами AURORA-1844/1850 (сравнение PATCH==GET побайтно) и AURORA-1846 (ожидание null в GET). Правка нормализует сравнение через strip_nulls на стороне теста, не меняя сам API-контракт. Полный pytest: 340 passed, 3 known baseline failed, 4 skipped.
aep added 1 commit 2026-11-01 11:39:35 +03:00
AURORA-1848 (#239/#242) убрал null-поля из GET листа/сводов (jsonb_strip_nulls),
оставив PATCH как раньше (задокументированный breaking-change в PR, не баг).
После слияния веток в test это разошлось с тестами, написанными до #239/#242:

- sheet_contract.assert_patch_rows_match_sheet сравнивал PATCH и GET побайтно —
  добавлен strip_nulls() на стороне PATCH перед сравнением.
- test_form4_sheet_sums.py сравнивал ответ API с "сырым" v3.jsonb_sum (с null-полями)
  и ожидал явный null в некоторых полях ответа — эталон теперь тоже прогоняется через
  strip_nulls, а прямые ожидания null заменены на .get(...) is None / отсутствие ключа.

Без изменений контракта API: PATCH продолжает отдавать null явно, как в #242.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
aep merged commit f407b5c296 into test 2026-11-01 11:40:56 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/DFiP_Budget_planing#279
No description provided.