gendesign/backend/tests/scrapers
bot-backend 9dbfb03a3d
Some checks failed
CI / changes (push) Successful in 7s
CI / changes (pull_request) Successful in 7s
CI / backend-tests (push) Has been skipped
CI / frontend-tests (push) Has been skipped
CI / openapi-codegen-check (push) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m38s
CI / backend-tests (pull_request) Failing after 8m41s
fix(scrapers): disambiguate EMISS yearly vs Q1 in dedup key (#1606)
_YEAR_PERIODS ('год') → month=1 collided with Q1 ('I квартал') → month=1
for the same region/year: both produced obs_date=YYYY-01-01, so the second
series in the XML silently overwrote the first in the in-memory by_key dict.

Fix: add _emiss_period_granularity() and extend the dedup key from
(region, obs_date) to (region, obs_date, granularity). 'year' and 'quarter'
are now distinct slots, so both rows survive the parser and reach the upsert.

Test: test_yearly_and_q1_both_survive_dedup verifies len==2 with both
values present; test_period_granularity covers all classification branches.
2026-06-17 20:39:52 +03:00
..
__init__.py feat(cadastre): NSPDBulkClient + schemas for bulk ingest (#168 PR2/5) (#170) 2026-05-15 12:50:41 +03:00
test_cbr_macro.py feat(macro): CBR inflation (ИПЦ YoY) -> macro_indicator + activate §9.5 channel (#946) 2026-06-08 11:41:14 +05:00
test_emiss_sdmx.py fix(scrapers): disambiguate EMISS yearly vs Q1 in dedup key (#1606) 2026-06-17 20:39:52 +03:00
test_nspd_bulk_client.py feat(site-finder): per-building помещения/машино-места + parking_ratio (on-demand MVP, #96) 2026-06-14 18:48:16 +05:00
test_nspd_grid_walk.py fix(#231): switch search_by_quarter area layers to grid-walk dispatch (Sub-PR B) 2026-05-17 09:46:42 +03:00
test_pravo_gov66_client.py fix(sf): pravo.gov66 law_type числовой код =1 Постановление (#1149) 2026-06-07 14:17:52 +00:00
test_rosstat_emiss.py feat(macro): land construction price index (СМР) via open Rosstat xlsx (#946) 2026-06-09 11:28:05 +05:00