From f70c81d6a5d8e3b70575b3183293740fd862df85 Mon Sep 17 00:00:00 2001 From: geekcom Date: Tue, 27 Oct 2020 18:56:01 -0300 Subject: [PATCH] fix tests, melhorias gerais --- .../Rules/InscricaoEstadual.php | 8 +- src/validator-docs/Rules/Placa.php | 2 + src/validator-docs/Rules/Renavam.php | 2 + src/validator-docs/Validator.php | 6 +- tests/TestValidator.php | 119 +++++++++--------- 5 files changed, 73 insertions(+), 64 deletions(-) diff --git a/src/validator-docs/Rules/InscricaoEstadual.php b/src/validator-docs/Rules/InscricaoEstadual.php index 691c7f9..3a0e009 100644 --- a/src/validator-docs/Rules/InscricaoEstadual.php +++ b/src/validator-docs/Rules/InscricaoEstadual.php @@ -5,15 +5,19 @@ use Thiagocfn\InscricaoEstadual\Util\Validador; +use function mb_strtoupper; + final class InscricaoEstadual extends Sanitization { public function validateInscricaoEstadual($attribute, $value, $parameters) { - if(empty($parameters[0]) || !is_string($parameters[0])) { + if (empty($parameters[0]) || !is_string($parameters[0])) { return false; } + $siglaUf = $this->sanitizeSiglaUf($parameters[0]); $inscricaoEstadual = $this->sanitize($value); + return Validador::check($siglaUf, $inscricaoEstadual); } @@ -25,4 +29,4 @@ private function sanitizeSiglaUf($siglaUf) { return mb_strtoupper($siglaUf); } -} \ No newline at end of file +} diff --git a/src/validator-docs/Rules/Placa.php b/src/validator-docs/Rules/Placa.php index 488d175..a33d97e 100644 --- a/src/validator-docs/Rules/Placa.php +++ b/src/validator-docs/Rules/Placa.php @@ -2,6 +2,8 @@ namespace geekcom\ValidatorDocs\Rules; +use function preg_match; + final class Placa extends Sanitization { public function validatePlaca($attribute, $placa): bool diff --git a/src/validator-docs/Rules/Renavam.php b/src/validator-docs/Rules/Renavam.php index 66e334c..b768019 100644 --- a/src/validator-docs/Rules/Renavam.php +++ b/src/validator-docs/Rules/Renavam.php @@ -2,6 +2,8 @@ namespace geekcom\ValidatorDocs\Rules; +use function str_split; + class Renavam extends Sanitization { public function validateRenavam($attribute, $renavam): bool diff --git a/src/validator-docs/Validator.php b/src/validator-docs/Validator.php index d74acb6..fd0f715 100644 --- a/src/validator-docs/Validator.php +++ b/src/validator-docs/Validator.php @@ -4,8 +4,6 @@ namespace geekcom\ValidatorDocs; -use geekcom\ValidatorDocs\Rules\Placa; -use geekcom\ValidatorDocs\Rules\Renavam; use Illuminate\Validation\Validator as BaseValidator; use geekcom\ValidatorDocs\Rules\TituloEleitoral; use geekcom\ValidatorDocs\Rules\Cns; @@ -15,6 +13,8 @@ use geekcom\ValidatorDocs\Rules\Cnh; use geekcom\ValidatorDocs\Rules\Certidao; use geekcom\ValidatorDocs\Rules\InscricaoEstadual; +use geekcom\ValidatorDocs\Rules\Placa; +use geekcom\ValidatorDocs\Rules\Renavam; use function preg_match; @@ -113,7 +113,7 @@ protected function validateInscricaoEstadual($attribute, $value, $parameters): b return $inscricaoEstadual->validateInscricaoEstadual($attribute, $value, $parameters); } - + protected function validateRenavam($attribute, $value): bool { $renavam = new Renavam(); diff --git a/tests/TestValidator.php b/tests/TestValidator.php index 01320c3..3456cf8 100644 --- a/tests/TestValidator.php +++ b/tests/TestValidator.php @@ -307,65 +307,65 @@ public function inscricoesEstaduais() } return $inscricoesEstaduaisValidas + [ - // válidas - 'válida sem formatação' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:BA', - 'assert' => 'passes' - ], - 'válida com estado (UF) em letras minúsculas' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:ba', - 'assert' => 'passes' - ], - 'válida com formatação' => [ - 'data' => '826793-41', - 'rules' => 'inscricao_estadual:BA', - 'assert' => 'passes' - ], - 'válida com formatação qualquer não-numérica' => [ - 'data' => '8 2__6-7*9.3/41', - 'rules' => 'inscricao_estadual:BA', - 'assert' => 'passes' - ], - - // inválidas - 'inválida cálculo errado' => [ - 'data' => '82679342', // último digito deveria ser 1 - 'rules' => 'inscricao_estadual:BA', - 'assert' => 'fails' - ], - 'inválida se estado (UF) errado' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:SP', // deveria ser BA - 'assert' => 'fails' - ], - 'inválida se estado (UF) inexistente' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:ZA', - 'assert' => 'fails' - ], - 'inválida se estado (UF) invalido (maior)' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:askdjahsd', - 'assert' => 'fails' - ], - 'inválida se estado (UF) invalido (menor)' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:y', - 'assert' => 'fails' - ], - 'inválida se estado (UF) invalido (numerico)' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual:12', - 'assert' => 'fails' - ], - 'inválida se estado (UF) não informado' => [ - 'data' => '82679341', - 'rules' => 'inscricao_estadual', - 'assert' => 'fails' - ], - ]; + // válidas + 'válida sem formatação' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:BA', + 'assert' => 'passes' + ], + 'válida com estado (UF) em letras minúsculas' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:ba', + 'assert' => 'passes' + ], + 'válida com formatação' => [ + 'data' => '826793-41', + 'rules' => 'inscricao_estadual:BA', + 'assert' => 'passes' + ], + 'válida com formatação qualquer não-numérica' => [ + 'data' => '8 2__6-7*9.3/41', + 'rules' => 'inscricao_estadual:BA', + 'assert' => 'passes' + ], + + // inválidas + 'inválida cálculo errado' => [ + 'data' => '82679342', // último digito deveria ser 1 + 'rules' => 'inscricao_estadual:BA', + 'assert' => 'fails' + ], + 'inválida se estado (UF) errado' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:SP', // deveria ser BA + 'assert' => 'fails' + ], + 'inválida se estado (UF) inexistente' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:ZA', + 'assert' => 'fails' + ], + 'inválida se estado (UF) invalido (maior)' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:askdjahsd', + 'assert' => 'fails' + ], + 'inválida se estado (UF) invalido (menor)' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:y', + 'assert' => 'fails' + ], + 'inválida se estado (UF) invalido (numerico)' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual:12', + 'assert' => 'fails' + ], + 'inválida se estado (UF) não informado' => [ + 'data' => '82679341', + 'rules' => 'inscricao_estadual', + 'assert' => 'fails' + ], + ]; } /** @@ -408,6 +408,7 @@ public function formatoRenavam() $this->assertTrue($correct->passes()); } + /** @test **/ public function placa() { $correct = Validator::make(