/** * Verifica se o CPF é alguma das sequencias não permitidas * ou se ele tem o tamanho minimo de 11 caracteres. * @return void */ private function startValidations() { $data = $this->getData(); $blackList = new ArrayList(); $blackList->addAll(['00000000000', '11111111111', '22222222222', '33333333333', '44444444444', '55555555555', '66666666666', '77777777777', '88888888888', '99999999999']); $this->validator->getValidations()->add(function (Validation $v) use($data, $blackList) { $v->setField(new Field('cpf', $data)); $v->getRules()->add(new MinLength('11')); $v->getRules()->add(new BlackList($blackList)); }); $this->validator->execute(); }
/** * Testa a validação de NoNumber * A string não pode conter numeros */ public function testNoNumberValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato de Nome //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', "LuanMaik")); $v->getRules()->add(new NoNumber()); }); // Regra de validação para formato de Nome //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', "Lu4n Ma1k")); $v->getRules()->add(new NoNumber()); }); // Regra de validação para formato de Nome //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', "luan maik 21")); $v->getRules()->add(new NoNumber()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação de Boolean */ public function testBooleanValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato de Boolean //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('ativo', true)); $v->getRules()->add(new Boolean()); }); // Regra de validção para formato de Boolean //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('ativo', 'true')); $v->getRules()->add(new Boolean()); }); // Regra de validação para formato de Boolean //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('ativo', 'false')); $v->getRules()->add(new Boolean()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação de URL. */ public function testURLValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato de URL //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('caminho', 'http://localhost/meuprojeto/')); $v->getRules()->add(new URL()); }); // Regra de validação para formato de URL //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('caminho', 'htp~://localhost/meuprojeto/')); $v->getRules()->add(new URL()); }); // Regra de validação para formato de URL //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('caminho', 'http:<>localhost/meuprojeto/')); $v->getRules()->add(new URL()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação de Formato de Data. */ public function testDateFormatValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato da data //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('data', '1994-08-23')); $v->getRules()->add(new DateFormat("Y-m-d")); }); // Regra de validação para formato da data //Simulação com erro-1 $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('data', '199-08-23')); $v->getRules()->add(new DateFormat("Y-m-d")); }); // Regra de validação para formato da data //Simulação com erro-2 $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('data', '1994-23-23')); $v->getRules()->add(new DateFormat("Y-m-d")); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação de Numeric * A string só pode conter números */ public function testNumericValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato de Numeric //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('idade', "21")); $v->getRules()->add(new Numeric()); }); // Regra de validação para formato de Numeric //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('idade', "21a")); $v->getRules()->add(new Numeric()); }); // Regra de validação para formato de Numeric //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('idade', "abc")); $v->getRules()->add(new Numeric()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação de Inteiro */ public function testIntValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato de inteiro //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('numero', 23)); $v->getRules()->add(new Int()); }); // Regra de validação para formato de inteiro //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('numero', '23')); $v->getRules()->add(new Int()); }); // Regra de validação para formato de inteiro //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('numero', '10')); $v->getRules()->add(new Int()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação de IP. */ public function testIPValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para formato de IP //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('ip', '255.254.189.133')); $v->getRules()->add(new IP()); }); // Regra de validação para formato de IP //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('ip', '270.254.189.133')); $v->getRules()->add(new IP()); }); // Regra de validação para formato de IP //Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('ip', '200.284.189.133')); $v->getRules()->add(new IP()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }
/** * Testa a validação para o tamanho minimo de strings. */ public function testMinLenghtValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para nome $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', 'Luca')); $v->getRules()->add(new MinLength(05)); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(1, $validator->getErrors()->count()); // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para nome $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', 'Lucas')); $v->getRules()->add(new MinLength(05)); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(0, $validator->getErrors()->count()); }
/** * Insere um número de CNPJ inválido e verifica se o validador * irá o interpretar como tal. */ public function testInvalidCnpj() { $validator = new Validator(); $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('cnpj', '15.234.350/0001-99')); $v->getRules()->add(new Cnpj()); }); $validator->execute(); $this->assertEquals($validator->getErrors()->count(), 1); }
public function testCpf() { //Instanciamento da classe validatora $validator = new Validator(); //Regra de validação do cpf simulando um erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('cpf', '056.659.658-12')); $v->getRules()->add(new Cpf()); }); //Regra de validação do cpf sem simular o erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('cpf', '894.434.123-06')); $v->getRules()->add(new Cpf()); }); //Executar a validação do cpf $validator->execute(); //verifica se foi gerado um erro $this->assertEquals(1, $validator->getErrors()->count()); }
/** * Testa a validação de Email. */ public function testEmailValidation() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para nome //Simulação com acerto $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('email', '*****@*****.**')); $v->getRules()->add(new Email()); }); // Simulação com erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('email', 'luanmaik1994gmail.com')); $v->getRules()->add(new Email()); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(1, $validator->getErrors()->count()); }
/** * Testa a validação pela regra blacklist. */ public function testBlackList() { $blackList = new ArrayList(); $blackList->addAll(['Lucas', 'Matheus']); $validator = new Validator(); // Verifica se o nome 'Lucas' está permitido. $validator->getValidations()->add(function (Validation $v) use($blackList) { $v->setField(new Field('nome', 'Lucas')); $v->getRules()->add(new BlackList($blackList)); }); // Verifica se o nome 'Adolf' está permitido. $validator->getValidations()->add(function (Validation $v) use($blackList) { $v->setField(new Field('nome', 'Adolf')); $v->getRules()->add(new BlackList($blackList)); }); $validator->execute(); $nomeNaoPermitido = $validator->getErrors()->first()->getField()->getValue(); $this->assertEquals($nomeNaoPermitido, 'Lucas'); $this->assertEquals($validator->getErrors()->count(), 1); }
/** * Testa a validação para o tipo de MimeType */ public function testMimeType() { // array de simulão da variavel $_FILE $arrayValorImagem = ['name' => 'base.jpg', 'type' => 'jpg', 'tmp_name' => __DIR__ . '../img/base.jpg', 'error' => 0]; // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para o mimeType $validator->getValidations()->add(function (Validation $v) use($arrayValorImagem) { $v->setField(new Field('imagem', $arrayValorImagem)); $v->getRules()->add(new MimeTypes(['image/jpg', 'image/jpeg', 'image/png'])); }); // Regra de validação para o mimeType simulano um erro $validator->getValidations()->add(function (Validation $v) use($arrayValorImagem) { $v->setField(new Field('imagem', $arrayValorImagem)); $v->getRules()->add(new MimeTypes(['audio/x-mpeg-3', 'audio/x-mpeg'])); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(1, $validator->getErrors()->count()); }
/** * Testa a validação de um valor por lista branca. */ public function testValidation() { // Lista de nomes permitidos $allowedNames = new ArrayList(); $allowedNames->add('Lucas Andrade de Araújo'); $allowedNames->add('Matheus Andrade de Araújo'); $validator = new Validator(); // Valida o nome "Lucas Andrade de Araújo" na lista branca. $validator->getValidations()->add(function (Validation $v) use($allowedNames) { $v->setField(new Field('nome', 'Lucas Andrade de Araújo')); $v->getRules()->add(new WhiteList($allowedNames)); }); // Valida o nome "Milena Nascimento Cabreira" na lista branca. $validator->getValidations()->add(function (Validation $v) use($allowedNames) { $v->setField(new Field('nome', 'Milena Nascimento Cabreira')); $v->getRules()->add(new WhiteList($allowedNames)); }); // Executa a validação das regras $validator->execute(); // Verifica se o nome invalido é o nome que não está // presente na lista de nomes permitidos. $invalidName = $validator->getErrors()->first()->getField()->getValue(); $this->assertEquals('Milena Nascimento Cabreira', $invalidName); }
/** * Testa a validação para o tamanho máximo de strings. */ public function testMaxLengthValidator() { // Instanciamento da classe validadora $validator = new Validator(); // Regra de validação para nome simulando um erro $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', 'Nathan Cambiriba do Nascimento')); $v->getRules()->add(new MaxLength(10)); }); // Regra de validação para nome $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', 'Nathan Cambiriba do Nascimento')); $v->getRules()->add(new MaxLength(10)); }); // Regra de validação para nome $validator->getValidations()->add(function (Validation $v) { $v->setField(new Field('nome', 'Nathan Cambiriba do Nascimento')); $v->getRules()->add(new MaxLength(100)); }); // Executa a validação dos dados $validator->execute(); // Verifica se foi gerado um erro $this->assertEquals(2, $validator->getErrors()->count()); }