respect-validation/tests/unit/Rules/PhoneTest.php

73 lines
1.9 KiB
PHP
Raw Normal View History

2013-04-29 05:35:29 +02:00
<?php
2015-06-08 16:47:14 +02:00
/*
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-License-Identifier: MIT
*/
declare(strict_types=1);
2013-04-29 05:35:29 +02:00
namespace Respect\Validation\Rules;
use Respect\Validation\Exceptions\PhoneException;
use Respect\Validation\Test\RuleTestCase;
2017-11-04 11:21:40 +01:00
/**
* @group rule
*
* @covers \Respect\Validation\Rules\Phone
*
* @author Danilo Correa <danilosilva87@gmail.com>
* @author Gabriel Caruso <carusogabriel34@gmail.com>
* @author Henrique Moody <henriquemoody@gmail.com>
* @author Michael Firsikov <michael.firsikov@gmail.com>
* @author Roman Derevianko <roman.derevianko@gmail.com>
*/
final class PhoneTest extends RuleTestCase
2013-04-29 05:35:29 +02:00
{
/**
* {@inheritDoc}
*/
public function providerForValidInput(): array
2013-04-29 05:35:29 +02:00
{
2015-10-18 03:44:47 +02:00
return [
[new Phone(), '+1 650 253 00 00'],
[new Phone('BR'), '+55 11 91111 1111'],
[new Phone('BR'), '11 91111 1111'], // no international prefix
[new Phone('BR'), '+5511911111111'], // no whitespace
[new Phone('BR'), '11911111111'], // no prefix, no whitespace
2015-10-18 03:44:47 +02:00
];
2013-04-29 05:35:29 +02:00
}
/**
* {@inheritDoc}
*/
public function providerForInvalidInput(): array
2013-04-29 05:35:29 +02:00
{
2015-10-18 03:44:47 +02:00
return [
[new Phone(), '+1-650-253-00-0'],
[new Phone('BR'), '+1 11 91111 1111'], // invalid + code for BR
2015-10-18 03:44:47 +02:00
];
2013-04-29 05:35:29 +02:00
}
public function testThrowsExceptionWithCountryName(): void
{
$phoneValidator = new Phone('BR');
$this->expectException(PhoneException::class);
$this->expectExceptionMessage('"abc" must be a valid telephone number for country "Brazil"');
$phoneValidator->assert('abc');
}
public function testThrowsExceptionForInternationalNumbers(): void
{
$phoneValidator = new Phone();
$this->expectException(PhoneException::class);
$this->expectExceptionMessage('"abc" must be a valid telephone number');
$phoneValidator->assert('abc');
}
2013-04-29 05:35:29 +02:00
}