Files
portal/app/tests/Unit/Autopodbor/Study/CompetitorFingerprintYandexTest.php
T
Дмитрий 9fce28fda8 feat(autopodbor): Яндекс-разворот по телефонам на шаге 2 (рядом с 2ГИС)
Для застройщиков, которые сидят только в Яндексе. По каждому номеру ищем в
Яндекс.Картах, но список рыхлый — поэтому КАЖДУЮ карточку открываем и оставляем
только те, где искомый номер реально есть. Это отсекает «Похожие места рядом»,
рекламу и рыхлые совпадения по бренду. Оба справочника объединяются
(CompositePhoneReverse), дубли по домену схлопываются.

Переиспользована готовая механика Яндекса: render-yandex-list.cjs (список) +
DirectoryParser::parseYandexCard (карточка). Браузерные адаптеры за интерфейсами
(YandexPhoneSearch/YandexCardReader) — логика TDD-ится на фейках; порог общей
линии считается по подтверждённым карточкам.

За отдельным тумблером AUTOPODBOR_PHONE_REVERSE_YANDEX (по умолчанию ВЫКЛ,
требует phone_reverse). Юнит 267/267, feature 150/150. План и находки —
docs/superpowers/{plans,findings}/2026-07-05-*.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 09:30:27 +03:00

14 lines
540 B
PHP

<?php
use App\Services\Autopodbor\Agent\Study\CompetitorFingerprint;
it('отпечаток несёт yandexSlug по региону (Красноярск=62/krasnoyarsk)', function () {
$fp = (new CompetitorFingerprint)->build(['name' => 'ДСК', 'site_url' => 'gk-dsk.ru'], 29);
expect($fp->yandexSlug)->toBe('62/krasnoyarsk');
});
it('нет региона в карте → yandexSlug пуст', function () {
$fp = (new CompetitorFingerprint)->build(['name' => 'X'], 99999);
expect($fp->yandexSlug)->toBe('');
});