@@ -40,26 +40,31 @@ def setUpClass(cls):
40
40
def _get_backend (cls ):
41
41
return cls .env .ref ("edi_ubl_oca.edi_backend_ubl_demo" )
42
42
43
- def _create_order (self ):
44
- # Simulate order creation via incoming EDI exchange
45
- order = self .env ["sale.order" ].create (
46
- {
47
- "client_order_ref" : self .client_order_ref ,
48
- "partner_id" : self .order_data .partner .id ,
49
- "origin_exchange_record_id" : self .exc_record_in .id ,
50
- }
51
- )
52
- self .exc_record_in ._set_related_record (order )
53
- self .exc_type_in .edi_exchange_state = "input_processed"
54
- return order
55
-
56
43
# No need to test sending data
57
44
@mock .patch ("odoo.addons.edi_oca.models.edi_backend.EDIBackend._exchange_send" )
58
45
def test_new_order (self , mock_send ):
59
- order = self ._create_order ()
46
+ order = self ._find_order ()
47
+ self .backend ._check_input_exchange_sync ()
48
+ self .assertEqual (self .exc_record_in .edi_exchange_state , "input_processed" )
49
+ order = self ._find_order ()
60
50
order .partner_id .edi_sale_conf_ids = self .edi_conf
51
+ self .assertEqual (self .exc_record_in .record , order )
52
+ order_msg = order .message_ids [0 ]
53
+ self .assertIn ("Exchange processed successfully" , order_msg .body )
54
+ self .assertIn (self .exc_record_in .identifier , order_msg .body )
55
+ order .invalidate_cache ()
56
+ # Test relations
61
57
self .assertEqual (len (order .exchange_record_ids ), 1 )
62
- order .action_confirm ()
58
+ exc_record = order .exchange_record_ids .filtered (
59
+ lambda x : x .type_id == self .exc_type_in
60
+ )
61
+ self .assertEqual (exc_record , self .exc_record_in )
62
+ # Confirm the order
63
+ with mock .patch .object (
64
+ type (self .backend ), "_exchange_generate"
65
+ ) as mock_generate :
66
+ mock_generate .return_value = "<xml>fake</xml>"
67
+ order .action_confirm ()
63
68
# Should give us a valid order response ack record
64
69
ack_exc_record = order .exchange_record_ids .filtered (
65
70
lambda x : x .type_id == self .exc_type_out
0 commit comments