Esempio n. 1
0
 def obter(self, cpf: str) -> Revendedor:
     if not cpf:
         return None
     result = self._revendedor_collection.find_one({'cpf': cpf})
     if result:
         return RevendedorSchema().load(result, unknown='EXCLUDE')
     return None
Esempio n. 2
0
 def salvar(self, revendedor: Revendedor):
     _revendedor = self._revendedor_collection.find_one(
         {'cpf': revendedor.cpf})
     if _revendedor:
         return
     _model = RevendedorSchema().dump(revendedor)
     self._revendedor_collection.insert_one(_model)
Esempio n. 3
0
    def test_validate__cpf_invalido__cpf_invalido(self):
        errors = RevendedorSchema().validate({
            'cpf': '12345',
            'nome': 'qualquer nome',
            'senha': 'senha!234',
            'email': '*****@*****.**'
        })

        self.assertEqual(1, len(errors))
        self.assertEqual(['Cpf inválido.'], errors['cpf'])
Esempio n. 4
0
    def test_validate__senha_maior_que_10_caracteres__senha_invalida(self):
        errors = RevendedorSchema().validate({
            'cpf': '87535514600',
            'nome': 'Um Nome Qualquer',
            'senha': 'a' * 11,
            'email': '*****@*****.**'
        })

        self.assertEqual(1, len(errors))
        self.assertEqual(
            ['Senha deve ter no mínimo 8 e no máximo 10 caracteres.'],
            errors['senha'])
Esempio n. 5
0
    def test_validate__senha_nao_informa__senha_obrigatorio(self):
        errors = RevendedorSchema().validate({
            'cpf': '87535514600',
            'nome': 'Um Nome Qualquer',
            'senha': '',
            'email': '*****@*****.**'
        })

        self.assertEqual(1, len(errors))
        self.assertEqual(
            ['Senha deve ter no mínimo 8 e no máximo 10 caracteres.'],
            errors['senha'])
Esempio n. 6
0
    def test_validate__nome_maior_que_100_caracteres__nome_invalido(self):
        errors = RevendedorSchema().validate({
            'cpf': '87535514600',
            'nome': 'a' * 101,
            'senha': 'senha!234',
            'email': '*****@*****.**'
        })

        self.assertEqual(1, len(errors))
        self.assertEqual(
            ['Nome deve ter no mínimo 2 e no máximo 100 caracteres.'],
            errors['nome'])
Esempio n. 7
0
    def test_validate__representante_valido__nenhum_erro(self):
        revendedor = RevendedorSchema().load({
            "cpf": "87535514600",
            "nome": "Um Nome Qualquer",
            "senha": "senha!234",
            "email": "*****@*****.**"
        })

        self.assertEqual('87535514600', revendedor.cpf)
        self.assertEqual('Um Nome Qualquer', revendedor.nome)
        self.assertEqual('senha!234', revendedor.senha)
        self.assertEqual('*****@*****.**', revendedor.email)
Esempio n. 8
0
    def test_validate__nome_nao_informado__nome_obrigatorio(self):
        errors = RevendedorSchema().validate({
            'cpf': '87535514600',
            'nome': '',
            'senha': 'senha!234',
            'email': '*****@*****.**'
        })

        self.assertEqual(1, len(errors))
        self.assertEqual(
            ['Nome deve ter no mínimo 2 e no máximo 100 caracteres.'],
            errors['nome'])