Skip to content

Commit 4c1b164

Browse files
authored
Merge pull request #22 from jprograming/feature/cl-document-types
Add Chile document types.
2 parents d741b59 + a21b967 commit 4c1b164

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/Helpers/DocumentHelper.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ class DocumentHelper
4242
const TYPE_DIMEX = 'DIMEX';
4343
const TYPE_DIDI = 'DIDI';
4444

45+
// Chile Documents
46+
const TYPE_CLRUT = 'CLRUT';
47+
4548
protected static $DOCUMENT_TYPES = [
4649
self::TYPE_CC,
4750
self::TYPE_CE,
@@ -61,6 +64,7 @@ class DocumentHelper
6164
self::TYPE_CPJ,
6265
self::TYPE_DIMEX,
6366
self::TYPE_DIDI,
67+
self::TYPE_CLRUT,
6468
];
6569
public static $VALIDATION_PATTERNS = [
6670
self::TYPE_CC => '/^[1-9][0-9]{3,9}$/',
@@ -81,6 +85,7 @@ class DocumentHelper
8185
self::TYPE_CPJ => '/^[1-9][0-9]{9}$/',
8286
self::TYPE_DIMEX => '/^[1-9][0-9]{10,11}$/',
8387
self::TYPE_DIDI => '/^[1-9][0-9]{10,11}$/',
88+
self::TYPE_CLRUT => '/^(\d{1,3}(?:\.?\d{1,3}){2}-[\dkK])$/',
8489
];
8590

8691
public static function documentTypes($exclude = [])
@@ -117,6 +122,7 @@ public static function businessDocument($document = null)
117122
self::TYPE_NIT,
118123
self::TYPE_RUT,
119124
self::TYPE_RUC,
125+
self::TYPE_CLRUT,
120126
];
121127
if ($document) {
122128
return in_array($document, $businessDocuments);

tests/Helpers/DocumentHelperTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,16 @@ public function testItValidatesCorrectlyDIDI()
7474
$this->assertFalse(DocumentHelper::isValidDocument(DocumentHelper::TYPE_DIDI, '1234567894911'));
7575
$this->assertFalse(DocumentHelper::isValidDocument(DocumentHelper::TYPE_DIDI, '1234567894'));
7676
}
77+
78+
public function testItValidatesCorrectlyTheChileanRUT()
79+
{
80+
$this->assertTrue(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '12.345.678-5'));
81+
$this->assertTrue(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '30.686.957-4'));
82+
$this->assertTrue(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '13.342.430-K'));
83+
$this->assertFalse(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '13.342.430-L'));
84+
$this->assertTrue(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '15127983-k'));
85+
$this->assertTrue(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '14096336-4'));
86+
$this->assertFalse(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, '1798288377'));
87+
$this->assertFalse(DocumentHelper::isValidDocument(DocumentHelper::TYPE_CLRUT, 'Gdsdfgdfghfg'));
88+
}
7789
}

0 commit comments

Comments
 (0)