siteVerified('kraslombard24.ru', 'kraslombard24.ru', '', [], ''))->toBeTrue(); }); it('сайт: близнец — точно она', function () { // seedRaw = seed-домен (как в реальном вызове коллектора: siteVerified(..., $fp->seedDomain, ...)); // близнец красломбард.рф ↔ kraslombard24.ru распознаётся через DomainKinship. expect(gate()->siteVerified('красломбард.рф', 'kraslombard24.ru', 'kraslombard24.ru', [], ''))->toBeTrue(); }); it('сайт: чужой с якорным телефоном на странице — точно она', function () { expect(gate()->siteVerified('other.ru', 'kraslombard24.ru', '', ['73912920000'], '...тел 8 (391) 292-00-00 = 73912920000...'))->toBeTrue(); }); it('сайт: чужой без якоря и без ссылки на seed — нет', function () { expect(gate()->siteVerified('sberbank.ru', 'kraslombard24.ru', '', [], 'чужое'))->toBeFalse(); }); it('карточка: сайт с seed — keep', function () { expect(gate()->cardKept('http://kraslombard24.ru/?utm=2gis', '', 'kraslombard24.ru', []))->toBeTrue(); }); it('карточка: телефон-якорь — keep', function () { expect(gate()->cardKept(null, '73912920000', 'kraslombard24.ru', ['73912920000' => true]))->toBeTrue(); }); it('карточка: чужая — drop', function () { expect(gate()->cardKept('http://alien.ru', '79990000000', 'kraslombard24.ru', ['73912920000' => true]))->toBeFalse(); }); it('карточка: якоря нет совсем (ни seed, ни цифр) — drop (слепую находку не берём)', function () { // Раньше тут был keep-всё — источник шума: без сайта фильтр пропускал стоматологию/салоны. expect(gate()->cardKept(null, '', '', []))->toBeFalse() ->and(gate()->cardKept('http://alien.ru', '79990000000', '', []))->toBeFalse(); }); it('карточка: якорь только по телефону клиента (сайта нет) — держит своё, режет чужое', function () { // Элемент без сайта, но клиент привязал карточку с номером 73912002005 → он в якоре. $anchor = ['73912002005' => true]; expect(gate()->cardKept(null, '73912002005', '', $anchor))->toBeTrue() // своё ->and(gate()->cardKept('http://salon.ru', '73912303303', '', $anchor))->toBeFalse(); // чужой салон });