Skip to content

Commit db17be5

Browse files
committed
Create test for landline validator
1 parent ed58f14 commit db17be5

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Tests\Rules;
4+
5+
use BadMethodCallException;
6+
use Milwad\LaravelValidate\Rules\ValidLandlineNumber;
7+
use Milwad\LaravelValidate\Tests\TestCase;
8+
use Milwad\LaravelValidate\Utils\Country;
9+
10+
class ValidLandlineNumberTest extends TestCase
11+
{
12+
/**
13+
* Test landline number is valid.
14+
*/
15+
public function test_landline_number_is_valid()
16+
{
17+
$rules = [
18+
'landline_number' => [new ValidLandlineNumber],
19+
'landline_de' => [new ValidLandlineNumber(Country::GERMANY)],
20+
];
21+
$data = [
22+
'landline_number' => '+98212223343',
23+
'landline_de' => '+49301234567',
24+
];
25+
$passes = $this->app['validator']->make($data, $rules)->passes();
26+
27+
$this->assertTrue($passes);
28+
}
29+
30+
/**
31+
* Test landline number is not valid.
32+
*/
33+
public function test_landline_number_is_not_valid()
34+
{
35+
$rules = [
36+
'landline_number' => [new ValidLandlineNumber],
37+
'landline_ir' => [new ValidLandlineNumber(Country::IRAN)],
38+
];
39+
$data = [
40+
'landline_number' => '123456789',
41+
'landline_ir' => '09120000000',
42+
];
43+
$passes = $this->app['validator']->make($data, $rules)->passes();
44+
45+
$this->assertFalse($passes);
46+
}
47+
48+
/**
49+
* Test all landline number is valid by specific code.
50+
*/
51+
public function test_all_landline_number_is_valid_by_specific_code()
52+
{
53+
$rules = [
54+
'landline_ir' => [new ValidLandlineNumber(Country::IRAN)],
55+
'landline_de' => [new ValidLandlineNumber(Country::GERMANY)],
56+
];
57+
$data = [
58+
'landline_ir' => '02132223343',
59+
'landline_de' => '+49301234567',
60+
];
61+
$passes = $this->app['validator']->make($data, $rules)->passes();
62+
63+
$this->assertTrue($passes);
64+
}
65+
66+
/**
67+
* Test if landline number validate method is not exists, will be thrown an exception.
68+
*/
69+
public function test_if_landline_number_validate_method_is_not_exists()
70+
{
71+
$this->expectException(BadMethodCallException::class);
72+
$this->expectExceptionMessage("Validator method for 'AZ' does not exist.");
73+
74+
$rules = ['landline' => [new ValidLandlineNumber(Country::AZERBAIJAN)]];
75+
$data = ['landline' => '+62812345678'];
76+
77+
$this->app['validator']->make($data, $rules)->passes();
78+
}
79+
}

0 commit comments

Comments
 (0)