1- # Part of Odoo. See LICENSE file for full copyright and licensing details.
2-
1+ # Copyright 2026 Dixmit
2+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
33import json
44
5- from odoo .exceptions import ValidationError
6- from odoo .tests import tagged
7-
85from odoo .addons .mail .tests .common import MailCommon
96from odoo .addons .test_mail .data .test_mail_data import MAIL_EML_ATTACHMENT
107
118
12- @tagged ("mail_gateway" )
139class TestEmailParsing (MailCommon ):
1410 """Test email parsing and import via mail gateway"""
1511
@@ -26,31 +22,22 @@ def setUpClass(cls):
2622 {
2723 "name" : "Mail Import OCA Test Backend" ,
2824 "backend_type_id" : cls .backend_type .id ,
25+ "alias_name" : "edi-input" ,
2926 }
3027 )
3128 cls .exchange_type = cls .env ["edi.exchange.type" ].create (
3229 {
3330 "name" : "Test Exchange Type" ,
3431 "code" : "test_exchange_type" ,
3532 "direction" : "input" ,
36- "alias_name" : "edi-input" ,
3733 "backend_type_id" : cls .backend_type .id ,
3834 "backend_id" : cls .backend .id ,
3935 }
4036 )
4137
42- def test_constraint (self ):
43- with self .assertRaises (ValidationError ):
44- self .exchange_type .direction = "output"
45-
46- def test_constraint_no_error_on_no_alias (self ):
47- self .exchange_type .alias_name = False
48- self .exchange_type .direction = "output"
49- self .assertFalse (self .exchange_type .alias_email )
50-
5138 def test_import_full (self ):
52- self .assertTrue (self .exchange_type .alias_email )
53- self .exchange_type . mail_as_attachment = True
39+ self .assertTrue (self .backend .alias_email )
40+ self .backend . full_mail_exchange_type_id = self . exchange_type
5441 self .assertFalse (
5542 self .env ["edi.exchange.record" ].search (
5643 [
@@ -60,7 +47,7 @@ def test_import_full(self):
6047 )
6148 mail = self .format (
6249 MAIL_EML_ATTACHMENT ,
63- to = self .exchange_type .alias_email ,
50+ to = self .backend .alias_email ,
6451 subject = "purchase test mail" ,
6552 target_model = "account.move" ,
6653 msg_id = "<test-account-move-alias-id>" ,
@@ -79,8 +66,8 @@ def test_import_full(self):
7966 self .assertIn ("body" , data )
8067
8168 def test_import_specific_file (self ):
82- self .assertTrue (self .exchange_type .alias_email )
83- self .exchange_type . mail_as_attachment = False
69+ self .assertTrue (self .backend .alias_email )
70+ self .backend . full_mail_exchange_type_id = False
8471 self .exchange_type .exchange_filename_pattern = ".*eml"
8572 self .assertFalse (
8673 self .env ["edi.exchange.record" ].search (
@@ -91,7 +78,7 @@ def test_import_specific_file(self):
9178 )
9279 mail = self .format (
9380 MAIL_EML_ATTACHMENT ,
94- to = self .exchange_type .alias_email ,
81+ to = self .backend .alias_email ,
9582 subject = "purchase test mail" ,
9683 target_model = "account.move" ,
9784 msg_id = "<test-account-move-alias-id>" ,
@@ -105,30 +92,3 @@ def test_import_specific_file(self):
10592 self .assertTrue (record )
10693 self .assertEqual (record .edi_exchange_state , "input_received" )
10794 self .assertEqual (record .exchange_filename , "original_msg.eml" )
108-
109- def test_import_no_file_found (self ):
110- self .assertTrue (self .exchange_type .alias_email )
111- self .exchange_type .mail_as_attachment = False
112- self .exchange_type .exchange_filename_pattern = ".*xml"
113- self .assertFalse (
114- self .env ["edi.exchange.record" ].search (
115- [
116- ("type_id" , "=" , self .exchange_type .id ),
117- ]
118- )
119- )
120- mail = self .format (
121- MAIL_EML_ATTACHMENT ,
122- to = self .exchange_type .alias_email ,
123- subject = "purchase test mail" ,
124- target_model = "account.move" ,
125- msg_id = "<test-account-move-alias-id>" ,
126- )
127- self .env ["mail.thread" ].message_process ("mail.thread" , mail )
128- record = self .env ["edi.exchange.record" ].search (
129- [
130- ("type_id" , "=" , self .exchange_type .id ),
131- ]
132- )
133- self .assertTrue (record )
134- self .assertEqual (record .edi_exchange_state , "new" )
0 commit comments