Files
portal/app/tests/Unit/Autopodbor/Extract/HtmlPhoneScannerTest.php
T

27 lines
1.2 KiB
PHP

<?php
use App\Services\Autopodbor\Agent\Extract\HtmlPhoneScanner;
it('берёт номера из tel:-ссылок', function () {
$html = '<a href="tel:+7 (843) 203-25-33">звонок</a><a href="tel:88432452533">2</a>';
$r = (new HtmlPhoneScanner)->scan($html);
expect($r['code'])->toHaveKey('78432032533')
->and($r['code']['78432032533'])->toContain('tel')
->and($r['code'])->toHaveKey('78432452533');
});
it('берёт номера из schema.org и microdata', function () {
$html = '<script type="application/ld+json">{"telephone":"+7(843)203-25-33"}</script>'
.'<span itemprop="telephone" content="+78432452533">x</span>';
$r = (new HtmlPhoneScanner)->scan($html);
expect($r['code']['78432032533'])->toContain('schema')
->and($r['code']['78432452533'])->toContain('microdata');
});
it('считает вхождения в тело и берёт e-mail-цифры', function () {
$html = 'тел 8(843)203-25-33, ещё 8(843)203-25-33. почта 2032533@mail.ru';
$r = (new HtmlPhoneScanner)->scan($html);
expect($r['body']['78432032533'])->toBe(2)
->and($r['emails'])->toContain('2032533');
});