def calculate_order_discount(): json_dict = request.json item = Order() order_items_dict = json_dict['order_items'] for order_item_dict in order_items_dict: order_item = OrderItem() if order_item.update_from_dict(order_item_dict): item.order_items.append(order_item) voucher_codes = json_dict['voucher_codes'] number_vouchers_allowed = int( ConfigValues.get_config_value('max_no_of_vouchers')) if len(voucher_codes) > number_vouchers_allowed: return Responses.NO_VOUCHERS_EXCEEDED() vouchers = Voucher.get_vouchers(voucher_codes) if not vouchers[0]: return Responses.INVALID_VOUCHER() valid = Voucher.validate_voucher(vouchers) if valid: item.vouchers = vouchers item.calculate_discounted_cost() return res(item.as_dict())
def test_calculate_discounted_cost(test_client, init_database, new_voucher): valid = Voucher.validate_voucher([new_voucher, new_voucher]) assert valid == True