"""Smoke: each Yandex scraper instance reads request_delay_sec from scraper_settings.

Легаси `app.services.scrapers.yandex_detail` / `yandex_valuation` удалены (#2277
финальный шаг scraper_kit-миграции). `yandex_realty` удалён (#2397 Part E2, 0
runtime-импортёров) — его delay-wiring тест убран (kit `YandexRealtyScraper`
delay-provider wiring покрыт `test_kit_serp_proxy_pool.py`). `yandex_newbuilding`
удалён (#2397 финальный шаг E) — переведён на kit-эквивалент, который тоже
использует инжектируемый `delay_provider=` (strangler DI, #2133) вместо прямого
импорта `get_scraper_delay`.
`yandex_detail`/`yandex_valuation` переведены на kit-эквиваленты, которые используют
инжектируемый `delay_provider=` (strangler DI, #2133) вместо прямого импорта
`get_scraper_delay` — тест адаптирован под реальный контракт kit-класса.
"""

from types import SimpleNamespace

from scraper_kit.providers.yandex.detail import YandexDetailScraper
from scraper_kit.providers.yandex.newbuilding import YandexNewbuildingScraper
from scraper_kit.providers.yandex.valuation import YandexValuationScraper

_KIT_CONFIG = SimpleNamespace(
    scraper_proxy_url=None,
    yandex_proxy_rotate_url=None,
    avito_proxy_rotate_url=None,
)


def test_yandex_detail_picks_up_delay():
    """Kit YandexDetailScraper: delay_provider callable вызывается с self.name."""
    s = YandexDetailScraper(delay_provider=lambda _name: 9.5)
    assert s.request_delay_sec == 9.5


def test_yandex_newbuilding_picks_up_delay():
    """Kit YandexNewbuildingScraper: delay_provider callable вызывается с self.name."""
    s = YandexNewbuildingScraper(delay_provider=lambda _name: 9.5)
    assert s.request_delay_sec == 9.5


def test_yandex_valuation_picks_up_delay():
    """Kit YandexValuationScraper: delay_provider callable вызывается с self.name.

    Mandatory-config footgun и полное покрытие delay_provider wiring уже проверены
    в tests/scrapers/test_yandex_valuation_kit_migration.py — здесь просто smoke,
    зеркалящий остальные Yandex-скрапперы в этом файле.
    """
    s = YandexValuationScraper(config=_KIT_CONFIG, delay_provider=lambda _name: 9.5)
    assert s.request_delay_sec == 9.5
