'окна'], includeFederal: true, maxCompetitors: 15); expect($fReq->regionCode)->toBe(16)->and($fReq->examples)->toContain('okna.ru')->and($fReq->includeFederal)->toBeTrue(); $fRes = new FindCompetitorsResult(competitors: [['name' => 'Окна Комфорт', 'relevance_pct' => 100]]); expect($fRes->competitors[0]['name'])->toBe('Окна Комфорт'); $sReq = new StudyCompetitorRequest(competitor: ['name' => 'Окна Комфорт', 'site_url' => 'okna.ru'], regionCode: 16); expect($sReq->competitor['site_url'])->toBe('okna.ru')->and($sReq->regionCode)->toBe(16); $sRes = new StudyCompetitorResult(sources: [['signal_type' => 'site', 'identifier' => 'okna.ru']]); expect($sRes->sources[0]['signal_type'])->toBe('site'); $rReq = new ResolveByNameRequest(name: 'Окна Комфорт', regionCode: 16); expect($rReq->name)->toBe('Окна Комфорт'); $rRes = new ResolveByNameResult(candidates: [['name' => 'Окна Комфорт']]); expect($rRes->candidates)->toHaveCount(1); });