[tradein] standalone kit unit-тесты для SERP/houses парсеров (после удаления legacy golden-parity) + чистка orphaned fixtures #2408

Open
opened 2026-07-04 11:49:34 +00:00 by lekss361 · 0 comments
Owner

Follow-up из deep-review PR #2407 (#2397 Part E2). Удаление legacy golden-parity тестов сняло единственный offline-оракул для трёх kit-парсеров (kit-код не менялся — strangler-копии byte-identical, доказано #2133/#2306/#1665 — риск только forward-looking: будущие правки kit-парсеров не поймаются offline):

  • scraper_kit.providers.avito.houses.parse_houses_state / _parse_house_page — включая извлечение рейтинга из reviews.filterEntries (#1789).
  • scraper_kit.providers.cian.serp_parse_serp_html / _format_address / offer_to_lot / extract_total_offers.
  • scraper_kit.providers.yandex.serp_entity_to_lot / build_url / parse_gate_json.

Выжившие kit-тесты (test_kit_serp_proxy_pool, test_scraper_kit_pipeline_parity2, test_scraper_proxy, *_delay_wiring) гоняют только proxy/orchestration/delay wiring c моками — HTML→lot parse не покрыт.

Задача:

  1. Добавить standalone kit unit-тесты (HTML-фикстура → распарсенный lot/state) для трёх парсеров выше — без legacy-эталона, прямые assert'ы на ожидаемые поля (в т.ч. #1789 rating).
  2. Удалить осиротевшие фикстуры: tradein-mvp/backend/tests/fixtures/avito_houses_sample.html + avito_house_572538.html (0 ссылок после E2). Можно переиспользовать их как input для новых kit-тестов avito.houses вместо удаления.

Scope: S-M (test-only). Не блокер. Refs #2397, #2407, #1789.

Follow-up из deep-review PR #2407 (#2397 Part E2). Удаление legacy golden-parity тестов сняло **единственный offline-оракул** для трёх kit-парсеров (kit-код не менялся — strangler-копии byte-identical, доказано #2133/#2306/#1665 — риск только forward-looking: будущие правки kit-парсеров не поймаются offline): - `scraper_kit.providers.avito.houses.parse_houses_state` / `_parse_house_page` — включая извлечение рейтинга из `reviews.filterEntries` (#1789). - `scraper_kit.providers.cian.serp` — `_parse_serp_html` / `_format_address` / `offer_to_lot` / `extract_total_offers`. - `scraper_kit.providers.yandex.serp` — `_entity_to_lot` / `build_url` / `parse_gate_json`. Выжившие kit-тесты (`test_kit_serp_proxy_pool`, `test_scraper_kit_pipeline_parity2`, `test_scraper_proxy`, `*_delay_wiring`) гоняют только proxy/orchestration/delay wiring c моками — **HTML→lot parse не покрыт**. **Задача:** 1. Добавить standalone kit unit-тесты (HTML-фикстура → распарсенный lot/state) для трёх парсеров выше — без legacy-эталона, прямые assert'ы на ожидаемые поля (в т.ч. #1789 rating). 2. Удалить осиротевшие фикстуры: `tradein-mvp/backend/tests/fixtures/avito_houses_sample.html` + `avito_house_572538.html` (0 ссылок после E2). Можно переиспользовать их как input для новых kit-тестов avito.houses вместо удаления. Scope: S-M (test-only). Не блокер. Refs #2397, #2407, #1789.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2408
No description provided.