Beispiel #1
0
 /**
  * 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());
 }
Beispiel #4
0
 /**
  * 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());
 }
Beispiel #7
0
 /**
  * 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());
 }
Beispiel #8
0
 /**
  * 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());
 }
Beispiel #10
0
 /**
  * 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);
 }
Beispiel #11
0
 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());
 }