2026-06-28 13:32:23 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
use App\Services\Autopodbor\AutopodborNormalizer;
|
|
|
|
|
|
|
|
|
|
it('нормализует домен в голову', function () {
|
2026-06-30 21:06:10 +03:00
|
|
|
$n = new AutopodborNormalizer;
|
2026-06-28 13:32:23 +03:00
|
|
|
expect($n->domainHead('https://www.Okna-Komfort.RU/contacts'))->toBe('okna-komfort.ru')
|
|
|
|
|
->and($n->domainHead('okna.pro'))->toBe('okna.pro')
|
|
|
|
|
->and($n->domainHead('http://site.ru:8080/path?x=1'))->toBe('site.ru');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('нормализует телефон в 7xxxxxxxxxx', function () {
|
2026-06-30 21:06:10 +03:00
|
|
|
$n = new AutopodborNormalizer;
|
2026-06-28 13:32:23 +03:00
|
|
|
expect($n->phone('+7 (843) 200-11-22'))->toBe('78432001122')
|
|
|
|
|
->and($n->phone('8 843 2001122'))->toBe('78432001122');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('строит dedup_key источника', function () {
|
2026-06-30 21:06:10 +03:00
|
|
|
$n = new AutopodborNormalizer;
|
2026-06-28 13:32:23 +03:00
|
|
|
expect($n->sourceKey('site', 'https://OKNA.ru/'))->toBe('site:okna.ru')
|
|
|
|
|
->and($n->sourceKey('call', '8-843-200-11-22'))->toBe('call:78432001122');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('строит dedup_key конкурента', function () {
|
2026-06-30 21:06:10 +03:00
|
|
|
$n = new AutopodborNormalizer;
|
2026-06-28 13:32:23 +03:00
|
|
|
expect($n->competitorKey('Окна Комфорт', 'https://www.okna-komfort.ru/'))->toBe('site:okna-komfort.ru')
|
|
|
|
|
->and($n->competitorKey(' Окна Комфорт ', null))->toBe('name:окна комфорт');
|
|
|
|
|
});
|