19 lines
742 B
PHP
19 lines
742 B
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
declare(strict_types=1);
|
|||
|
|
|
|||
|
|
use App\Services\PhoneNormalizer;
|
|||
|
|
|
|||
|
|
test('нормализует разные форматы RU-номера в 7XXXXXXXXXX', function (string $input, ?string $expected) {
|
|||
|
|
expect(PhoneNormalizer::normalize($input))->toBe($expected);
|
|||
|
|
})->with([
|
|||
|
|
'маска +7' => ['+7 (912) 345-67-89', '79123456789'],
|
|||
|
|
'через 8' => ['8 (912) 345-67-89', '79123456789'],
|
|||
|
|
'голые 7+10' => ['79123456789', '79123456789'],
|
|||
|
|
'голые 10' => ['9123456789', '79123456789'],
|
|||
|
|
'с мусором' => ['тел: +7-912-345-67-89 ', '79123456789'],
|
|||
|
|
'слишком коротко' => ['12345', null],
|
|||
|
|
'слишком длинно' => ['791234567890123', null],
|
|||
|
|
'пусто' => ['', null],
|
|||
|
|
]);
|