예제 #1
0
    def test_new_purchase(self):
        assert len(PurchaseModel.list()) == 0

        purchase = PurchaseModel()
        purchase.code = 1
        purchase.value = 1000
        purchase.id_reseller = 2
        purchase.status = "Em validação"
        purchase.save()

        assert len(PurchaseModel.list()) != 0
예제 #2
0
    def test_delete_purchase(self):
        purchase = PurchaseModel()
        purchase.code = 2
        purchase.value = 1000
        purchase.id_reseller = 2
        purchase.status = "Em validação"
        purchase.save()

        purchases = len(PurchaseModel.list())

        PurchaseModel.delete(2)

        assert purchases - 1 == len(PurchaseModel.list())
예제 #3
0
def first_purchase():
    if UserModel.get_by_cpf("74936635057") == None:
        first_reseller_user()

    if PurchaseModel.get_by_reseller(2) != None:
        return

    new_purchase = PurchaseModel()
    new_purchase.code = 1
    new_purchase.value = 1000
    new_purchase.id_reseller = 1
    new_purchase.status = "Em validação"
    new_purchase.save()
    return
예제 #4
0
    def post(self):
        try:
            data = request.get_json()
            item = PurchaseModel()

            current_user = jwt.decode(request.headers['Authorization'],
                                      environ.get('JWT_SECRET_KEY'),
                                      options={'verify_exp': False})

            if Roles().enum_to_name(current_user['sub']['role']) == 'admin':
                if check_params(['code', 'value', 'cpf'],
                                data.keys()) == False:
                    return "Parâmetros incorretos", 401

                if check_cpf(data['cpf']) is False:
                    return 'CPF incorreto', 401

                if UserModel.get_by_cpf(data['cpf']) == None:
                    return 'CPF não registrado', 401

                for parameter in data:
                    setattr(item, parameter, data[parameter])
                item.id_reseller = UserModel.get_by_cpf(data['cpf']).id
                item.status = "Em validação" if data['cpf'] not in [
                    '153.509.460-56', '15350946056'
                ] else "Aprovado"
                item.save()
                return "success", 201
            else:
                if check_params(['code', 'value'], data.keys()) == False:
                    return "Parâmetros incorretos", 401

                for parameter in data:
                    setattr(item, parameter, data[parameter])
                item.reseller = UserModel.get_by_cpf(
                    current_user['sub']['cpf'])
                item.status = "Em validação" if current_user['sub'][
                    'cpf'] not in ['153.509.460-56', '15350946056'
                                   ] else "Aprovado"
                item.save()
                return "success", 201
        except:
            return "error", 401