mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
phonenumber helper: remove unused method and fix tests
This commit is contained in:
parent
3e30684198
commit
5ce62f5458
@ -22,8 +22,6 @@ use libphonenumber\PhoneNumber;
|
||||
*/
|
||||
interface PhoneNumberHelperInterface
|
||||
{
|
||||
public function denormalize(PhoneNumber $phoneNumber): string;
|
||||
|
||||
public function format(PhoneNumber $phonenumber): string;
|
||||
|
||||
/**
|
||||
@ -54,5 +52,4 @@ interface PhoneNumberHelperInterface
|
||||
*/
|
||||
public function isValidPhonenumberMobile(string $phonenumber): bool;
|
||||
|
||||
public function normalize(string $phoneNumber): string;
|
||||
}
|
||||
|
@ -73,11 +73,6 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface
|
||||
$this->phoneNumberUtil = PhoneNumberUtil::getInstance();
|
||||
}
|
||||
|
||||
public function denormalize(PhoneNumber $phoneNumber): string
|
||||
{
|
||||
return $this->format($phoneNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phoneNumber A national phone number starting with +
|
||||
*
|
||||
@ -167,78 +162,6 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface
|
||||
return 'mobile' === $validation;
|
||||
}
|
||||
|
||||
public function normalize(string $phoneNumber): string
|
||||
{
|
||||
$phoneUtil = PhoneNumberUtil::getInstance();
|
||||
|
||||
return $phoneUtil
|
||||
->format(
|
||||
$phoneUtil->parse($phoneNumber, $this->config['default_carrier_code']),
|
||||
PhoneNumberFormat::E164
|
||||
);
|
||||
}
|
||||
|
||||
private function performTwilioFormat($phonenumber)
|
||||
{
|
||||
if (false === $this->isPhonenumberValidationConfigured()) {
|
||||
return $phonenumber;
|
||||
}
|
||||
|
||||
// filter only number
|
||||
$filtered = preg_replace('/[^0-9]/', '', $phonenumber);
|
||||
|
||||
$item = $this->cachePool->getItem('pnum_format_nat_' . $filtered);
|
||||
|
||||
if ($item->isHit()) {
|
||||
return $item->get();
|
||||
}
|
||||
|
||||
try {
|
||||
$response = $this->twilioClient->get(sprintf(self::FORMAT_URI, '+' . $filtered), [
|
||||
'http_errors' => true,
|
||||
]);
|
||||
} catch (ClientException $e) {
|
||||
$response = $e->getResponse();
|
||||
$this->logger->error('[phonenumber helper] Could not format number '
|
||||
. 'due to client error', [
|
||||
'message' => $response->getBody()->getContents(),
|
||||
'status_code' => $response->getStatusCode(),
|
||||
'phonenumber' => $phonenumber,
|
||||
]);
|
||||
|
||||
return $phonenumber;
|
||||
} catch (ServerException $e) {
|
||||
$response = $e->getResponse();
|
||||
$this->logger->error('[phonenumber helper] Could not format number '
|
||||
. 'due to server error', [
|
||||
'message' => $response->getBody()->getContents(),
|
||||
'status_code' => $response->getStatusCode(),
|
||||
'phonenumber' => $phonenumber,
|
||||
]);
|
||||
|
||||
return null;
|
||||
} catch (ConnectException $e) {
|
||||
$this->logger->error('[phonenumber helper] Could not format number '
|
||||
. 'due to connect error', [
|
||||
'message' => $e->getMessage(),
|
||||
'phonenumber' => $phonenumber,
|
||||
]);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$format = json_decode($response->getBody()->getContents())->national_format;
|
||||
|
||||
$item
|
||||
->set($format)
|
||||
// expires after 3d
|
||||
->expiresAfter(3600 * 24 * 3);
|
||||
|
||||
$this->cachePool->save($item);
|
||||
|
||||
return $format;
|
||||
}
|
||||
|
||||
private function performTwilioLookup($phonenumber)
|
||||
{
|
||||
if (false === $this->isPhonenumberValidationConfigured()) {
|
||||
|
@ -12,6 +12,8 @@ declare(strict_types=1);
|
||||
namespace Chill\MainBundle\Tests\Routing\Loader;
|
||||
|
||||
use Chill\MainBundle\Phonenumber\PhonenumberHelper;
|
||||
use libphonenumber\PhoneNumber;
|
||||
use libphonenumber\PhoneNumberUtil;
|
||||
use Psr\Log\NullLogger;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||
@ -23,21 +25,6 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
||||
*/
|
||||
final class PhonenumberHelperTest extends KernelTestCase
|
||||
{
|
||||
public function denormalizePhonenumbers()
|
||||
{
|
||||
yield [
|
||||
'BE',
|
||||
'+3281136917',
|
||||
'+3281136917',
|
||||
];
|
||||
|
||||
yield [
|
||||
'BE',
|
||||
'+33 6 23 12 45 54',
|
||||
'+33623124554',
|
||||
];
|
||||
}
|
||||
|
||||
public function formatPhonenumbers()
|
||||
{
|
||||
yield [
|
||||
@ -55,72 +42,22 @@ final class PhonenumberHelperTest extends KernelTestCase
|
||||
yield [
|
||||
'FR',
|
||||
'+32 81 13 69 17',
|
||||
'081 13 69 17',
|
||||
'00 32 81 13 69 17',
|
||||
];
|
||||
|
||||
yield [
|
||||
'BE',
|
||||
'+33 6 23 12 45 54',
|
||||
'06 23 12 45 54',
|
||||
'00 33 6 23 12 45 54',
|
||||
];
|
||||
}
|
||||
|
||||
public function normalizePhonenumbers()
|
||||
{
|
||||
yield [
|
||||
'BE',
|
||||
'081136917',
|
||||
'+3281136917',
|
||||
];
|
||||
|
||||
yield [
|
||||
'BE',
|
||||
'003281136917',
|
||||
'+3281136917',
|
||||
];
|
||||
|
||||
yield [
|
||||
'BE',
|
||||
'0032478123456',
|
||||
'+32478123456',
|
||||
];
|
||||
|
||||
yield [
|
||||
'BE',
|
||||
'0478123456',
|
||||
'+32478123456',
|
||||
];
|
||||
|
||||
yield [
|
||||
'FR',
|
||||
'0623124554',
|
||||
'+33623124554',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider denormalizePhonenumbers
|
||||
*/
|
||||
public function testDenormalizePhonenumbers(string $defaultCarrierCode, string $phoneNumber, string $expected)
|
||||
{
|
||||
$subject = new PhonenumberHelper(
|
||||
new ArrayAdapter(),
|
||||
new ParameterBag([
|
||||
'chill_main.phone_helper' => [
|
||||
'default_carrier_code' => $defaultCarrierCode,
|
||||
],
|
||||
]),
|
||||
new NullLogger()
|
||||
);
|
||||
|
||||
$this->assertEquals($expected, $subject->denormalize($phoneNumber));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider formatPhonenumbers
|
||||
*/
|
||||
public function testFormatPhonenumbers(string $defaultCarrierCode, string $phoneNumber, string $expected)
|
||||
{
|
||||
$util = PhoneNumberUtil::getInstance();
|
||||
$subject = new PhonenumberHelper(
|
||||
new ArrayAdapter(),
|
||||
new ParameterBag([
|
||||
@ -131,24 +68,6 @@ final class PhonenumberHelperTest extends KernelTestCase
|
||||
new NullLogger()
|
||||
);
|
||||
|
||||
$this->assertEquals($expected, $subject->format($phoneNumber));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider normalizePhonenumbers
|
||||
*/
|
||||
public function testNormalizePhonenumbers(string $defaultCarrierCode, string $phoneNumber, string $expected)
|
||||
{
|
||||
$subject = new PhonenumberHelper(
|
||||
new ArrayAdapter(),
|
||||
new ParameterBag([
|
||||
'chill_main.phone_helper' => [
|
||||
'default_carrier_code' => $defaultCarrierCode,
|
||||
],
|
||||
]),
|
||||
new NullLogger()
|
||||
);
|
||||
|
||||
$this->assertEquals($expected, $subject->normalize($phoneNumber));
|
||||
$this->assertEquals($expected, $subject->format($util->parse($phoneNumber)));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user