parse(twoGisFixture(), $url);
expect($c)->not->toBeNull();
expect($c->name)->toBe('КрасЛомбард'); // из
, первый сегмент
expect($c->siteUrl)->toBe('http://kraslombard24.ru'); // чистый url, НЕ редирект link.2gis
expect($c->phones)->toContain('73912920000'); // нормализован к 7XXXXXXXXXX
expect($c->region)->toBe('Красноярск'); // город — последний сегмент title
expect($c->description)->toContain('Ломбарды'); // рубрики
expect($c->source)->toBe('2ГИС');
expect($c->directoryUrl)->toBe('https://2gis.ru/krasnoyarsk/firm/70000001040792812'); // ?stat срезан
expect($c->isLocal())->toBeTrue();
expect($c->isFederal)->toBeFalse();
});
it('НЕ берёт редирект link.2gis как сайт конкурента', function () {
$url = 'https://2gis.ru/krasnoyarsk/firm/70000001040792812';
$c = (new TwoGisResolver)->parse(twoGisFixture(), $url);
expect($c->siteUrl)->not->toContain('link.2gis.ru');
});
it('возвращает null, когда в HTML нет данных карточки (пустая оболочка 2ГИС)', function () {
$c = (new TwoGisResolver)->parse('2gis.ru', 'https://2gis.ru/x/firm/1');
expect($c)->toBeNull();
});