예제 #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
 def post(self, name):
     company = CompanyModel.find_by_name(name)
     if company:
         data = Purchase.parser.parse_args()
         purchase_date = datetime.strptime(data['purchase_date'],
                                           "%Y-%m-%d")
         purchase = PurchaseModel(data['price'], data['quantity'],
                                  company.id, purchase_date)
         try:
             purchase.save()
         except:
             return {
                 "message": "An error occurred inserting the purchase."
             }, 500
     else:
         return {"message": "Company not found."}, 204
     return purchase.json(), 201
예제 #5
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