diff --git a/addons/sale_loyalty/models/loyalty_reward.py b/addons/sale_loyalty/models/loyalty_reward.py index 6860208229b..08fe0d2e1af 100644 --- a/addons/sale_loyalty/models/loyalty_reward.py +++ b/addons/sale_loyalty/models/loyalty_reward.py @@ -13,5 +13,6 @@ class LoyaltyReward(models.Model): vals.update({ 'taxes_id': False, 'supplier_taxes_id': False, + 'invoice_policy': 'order', }) return res diff --git a/addons/sale_loyalty/tests/test_sale_invoicing.py b/addons/sale_loyalty/tests/test_sale_invoicing.py index d67bb07127d..d82c5502d6f 100644 --- a/addons/sale_loyalty/tests/test_sale_invoicing.py +++ b/addons/sale_loyalty/tests/test_sale_invoicing.py @@ -23,8 +23,7 @@ class TestSaleInvoicing(TestSaleCouponCommon): 'discount_applicability': 'order', })] }) - # Override the default invoice_policy on products - discount_coupon_program.reward_ids.discount_line_product_id.invoice_policy = 'order' + product = self.env['product.product'].create({ 'invoice_policy': 'delivery', 'name': 'Product invoiced on delivery', @@ -40,6 +39,9 @@ class TestSaleInvoicing(TestSaleCouponCommon): ] }) + #Check default invoice_policy on discount product + self.assertEqual(discount_coupon_program.reward_ids.discount_line_product_id.invoice_policy, 'order') + order._update_programs_and_rewards() self._claim_reward(order, discount_coupon_program) # Order is not confirmed, there shouldn't be any invoiceable line @@ -79,8 +81,6 @@ class TestSaleInvoicing(TestSaleCouponCommon): 'discount_applicability': 'order', })] }) - # Override the default invoice_policy on products - discount_coupon_program.reward_ids.discount_line_product_id.invoice_policy = 'order' order = self.empty_order @@ -95,6 +95,9 @@ class TestSaleInvoicing(TestSaleCouponCommon): 'order_id': order.id, }) + #Check default invoice_policy on discount product + self.assertEqual(discount_coupon_program.reward_ids.discount_line_product_id.invoice_policy, 'order') + self._auto_rewards(order, discount_coupon_program) self.assertEqual(len(order.order_line), 2, 'Coupon correctly applied')