25 lines
1.0 KiB
PHP
25 lines
1.0 KiB
PHP
<?php
|
|
|
|
use App\Services\Autopodbor\Agent\Study\FootprintSearch;
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
it('собирает уникальные url из ответов EXA', function () {
|
|
config()->set('services.exa', ['key' => 'test', 'base_url' => 'https://api.exa.ai', 'timeout_sec' => 90]);
|
|
Http::fake(['api.exa.ai/*' => Http::response(['results' => [
|
|
['url' => 'https://kraslombard24.ru/'],
|
|
['url' => 'https://2gis.ru/krasnoyarsk/firm/1'],
|
|
['url' => 'https://kraslombard24.ru/'], // дубль
|
|
]])]);
|
|
|
|
$urls = (new FootprintSearch)->search(['КрасЛомбард Красноярск', 'kraslombard24.ru']);
|
|
|
|
expect($urls)->toBe(['https://kraslombard24.ru/', 'https://2gis.ru/krasnoyarsk/firm/1']);
|
|
});
|
|
|
|
it('пустой ключ EXA → пустой список, без единого запроса', function () {
|
|
Http::fake();
|
|
config()->set('services.exa', ['key' => '']);
|
|
expect((new FootprintSearch)->search(['x']))->toBe([]);
|
|
Http::assertNothingSent();
|
|
});
|