gendesign/backend/tests/workers/tasks
Light1YT c3c6e2cef1 fix(okn): expand registry coverage + load detail-card name/address (#1159)
okn_objects_sync собирал 428 ОКН из ~798 ЕГРОКН и сохранял raw_props={id}
без названия/адреса — analyze показывал 'ОКН рядом' без указания КАКОГО.

Coverage: расширил _ADDRESS_PASSES с 2 до 11 подстрок (Екатеринбург,
г. Екатеринбург, 7 районов ЕКБ, 2 формы Свердловской обл.). _PASSES =
декартово (address × category). first-wins дедуп сохраняет высшую категорию.

Detail: fetch_okn_detail(source_id) — GET Show/Show?id=, BeautifulSoup
парсит HTML (dl/dt/dd и tr/td), извлекает name, address, protection_category,
object_kind, dating. _enrich_with_detail сливает в raw_props с graceful
failover (cap=1500, exception per-object не валит прогон).

Lookup: parcel_okn_objects возвращает name/address из raw_props->>'name'.
Existing ird_analyze тесты не сломаны.

49 okn-related тестов passed, ruff clean.

Closes #1159
2026-06-13 15:02:50 +05:00
..
test_forecast.py feat(forecast): forecast_site_finder_report Celery task + schema-filtered run read (3b-i) 2026-06-05 09:02:15 +05:00
test_gknspecial_harvest.py fix(workers): per-prefix db.commit() в gknspecial_harvest для durability (#1116) 2026-06-13 15:02:50 +05:00
test_okn_objects_sync.py fix(okn): expand registry coverage + load detail-card name/address (#1159) 2026-06-13 15:02:50 +05:00
test_scrape_kn.py fix(scrape_kn): Redis-lock owner-token + resume retry on lock_held (#1216) 2026-06-13 05:44:24 +00:00
test_scrape_objective.py fix(workers): count lots_pf failure correctly, no silent 'done' (#1220) 2026-06-13 07:34:57 +00:00