@@ -14,7 +14,7 @@ def setUpClass(cls):
14
14
super ().setUpClass ()
15
15
cls .env = cls .env (context = dict (cls .env .context , ** DISABLED_MAIL_CONTEXT ))
16
16
17
- def create_sale_order (self , payment_mode = None ):
17
+ def create_sale_order (self , payment_method_line = None ):
18
18
with Form (self .env ["sale.order" ]) as sale_form :
19
19
sale_form .partner_id = self .base_partner
20
20
for _ , p in self .products .items ():
@@ -26,62 +26,65 @@ def create_sale_order(self, payment_mode=None):
26
26
order_line .price_unit = p .list_price
27
27
sale = sale_form .save ()
28
28
self .assertEqual (
29
- sale .payment_mode_id , self .base_partner .customer_payment_mode_id
29
+ sale .payment_method_line_id ,
30
+ self .base_partner .property_inbound_payment_method_line_id ,
30
31
)
31
32
sale_form = Form (sale )
32
33
33
34
# force payment mode
34
- if payment_mode :
35
- sale_form .payment_mode_id = payment_mode
35
+ if payment_method_line :
36
+ sale_form .payment_method_line_id = payment_method_line
36
37
return sale_form .save ()
37
38
38
39
def create_invoice_and_check (
39
- self , order , expected_payment_mode , expected_partner_bank
40
+ self , order , expected_payment_method_line , expected_partner_bank
40
41
):
41
42
order .action_confirm ()
42
43
order ._create_invoices ()
43
44
invoice = order .invoice_ids
44
45
self .assertEqual (len (invoice ), 1 )
45
- self .assertEqual (invoice .payment_mode_id , expected_payment_mode )
46
+ self .assertEqual (
47
+ invoice .preferred_payment_method_line_id , expected_payment_method_line
48
+ )
46
49
self .assertEqual (invoice .partner_bank_id , expected_partner_bank )
47
50
48
- def test_sale_to_invoice_payment_mode (self ):
51
+ def test_sale_to_invoice_payment_method_line (self ):
49
52
"""
50
53
Data:
51
- A partner with a specific payment_mode
52
- A sale order created with the payment_mode of the partner
54
+ A partner with a specific payment_method_line
55
+ A sale order created with the payment_method_line of the partner
53
56
Test case:
54
57
Create the invoice from the sale order
55
58
Expected result:
56
- The invoice must be created with the payment_mode of the partner
59
+ The invoice must be created with the payment_method_line of the partner
57
60
"""
58
61
order = self .create_sale_order ()
59
- self .create_invoice_and_check (order , self .payment_mode , self .bank )
62
+ self .create_invoice_and_check (order , self .payment_method_line , self .bank )
60
63
61
- def test_sale_to_invoice_payment_mode_2 (self ):
64
+ def test_sale_to_invoice_payment_method_line_2 (self ):
62
65
"""
63
66
Data:
64
- A partner with a specific payment_mode
65
- A sale order created with an other payment_mode
67
+ A partner with a specific payment_method_line
68
+ A sale order created with an other payment_method_line
66
69
Test case:
67
70
Create the invoice from the sale order
68
71
Expected result:
69
- The invoice must be created with the specific payment_mode
72
+ The invoice must be created with the specific payment_method_line
70
73
"""
71
- order = self .create_sale_order (payment_mode = self .payment_mode_2 )
72
- self .create_invoice_and_check (order , self .payment_mode_2 , self .bank )
74
+ order = self .create_sale_order (payment_method_line = self .payment_method_line_2 )
75
+ self .create_invoice_and_check (order , self .payment_method_line_2 , self .bank )
73
76
74
- def test_sale_to_invoice_payment_mode_via_payment (self ):
77
+ def test_sale_to_invoice_payment_method_line_via_payment (self ):
75
78
"""
76
79
Data:
77
- A partner with a specific payment_mode
78
- A sale order created with an other payment_mode
80
+ A partner with a specific payment_method_line
81
+ A sale order created with an other payment_method_line
79
82
Test case:
80
83
Create the invoice from sale.advance.payment.inv
81
84
Expected result:
82
- The invoice must be created with the specific payment_mode
85
+ The invoice must be created with the specific payment_method_line
83
86
"""
84
- order = self .create_sale_order (payment_mode = self .payment_mode_2 )
87
+ order = self .create_sale_order (payment_method_line = self .payment_method_line_2 )
85
88
context = {
86
89
"active_model" : "sale.order" ,
87
90
"active_ids" : [order .id ],
@@ -92,30 +95,33 @@ def test_sale_to_invoice_payment_mode_via_payment(self):
92
95
{
93
96
"advance_payment_method" : "fixed" ,
94
97
"fixed_amount" : 5 ,
95
- "product_id" : self .env .ref ("sale.advance_product_0" ).id ,
96
98
"sale_order_ids" : order ,
97
99
}
98
100
)
99
101
payment .with_context (** context ).create_invoices ()
100
102
invoice = order .invoice_ids
101
103
self .assertEqual (len (invoice ), 1 )
102
- self .assertEqual (invoice .payment_mode_id , self .payment_mode_2 )
103
- self .assertFalse (invoice .partner_bank_id )
104
+ self .assertEqual (
105
+ invoice .preferred_payment_method_line_id , self .payment_method_line_2
106
+ )
107
+ self .assertEqual (
108
+ invoice .partner_bank_id ,
109
+ self .payment_method_line_2 .journal_id .bank_account_id ,
110
+ )
104
111
105
- def test_several_sale_to_invoice_payment_mode (self ):
112
+ def test_several_sale_to_invoice_payment_method_line (self ):
106
113
"""
107
114
Data:
108
- A partner with a specific payment_mode
109
- A sale order created with the payment_mode of the partner
115
+ A partner with a specific payment_method_line
116
+ A sale order created with the payment_method_line of the partner
110
117
A sale order created with another payment mode
111
118
Test case:
112
119
Create the invoice from the sale orders
113
120
Expected result:
114
121
Two invoices should be generated
115
122
"""
116
- payment_mode_2 = self .env .ref ("account_payment_mode.payment_mode_outbound_dd1" )
117
123
order_1 = self .create_sale_order ()
118
- order_2 = self .create_sale_order (payment_mode_2 )
124
+ order_2 = self .create_sale_order (self . payment_method_line_2 )
119
125
orders = order_1 | order_2
120
126
orders .action_confirm ()
121
127
invoices = orders ._create_invoices ()
0 commit comments