diff --git a/addons/test_mass_mailing/tests/__init__.py b/addons/test_mass_mailing/tests/__init__.py
index 2391896e3e4..978ceb47d01 100644
--- a/addons/test_mass_mailing/tests/__init__.py
+++ b/addons/test_mass_mailing/tests/__init__.py
@@ -5,6 +5,6 @@ from . import test_blacklist
from . import test_blacklist_behavior
from . import test_blacklist_mixin
from . import test_link_tracker
-from . import test_mailing_internals
-from . import test_mass_mailing
+from . import test_mailing_test
+from . import test_mailing
from . import test_performance
diff --git a/addons/test_mass_mailing/tests/common.py b/addons/test_mass_mailing/tests/common.py
index 43b1ad27ea1..ff368bf59be 100644
--- a/addons/test_mass_mailing/tests/common.py
+++ b/addons/test_mass_mailing/tests/common.py
@@ -11,6 +11,13 @@ class TestMassMailCommon(MassMailCommon, TestMailCommon):
def setUpClass(cls):
super(TestMassMailCommon, cls).setUpClass()
+ cls.test_alias = cls.env['mail.alias'].create({
+ 'alias_name': 'test.alias',
+ 'alias_user_id': False,
+ 'alias_model_id': cls.env['ir.model']._get('mailing.test.simple').id,
+ 'alias_contact': 'everyone'
+ })
+
# enforce last update by user_marketing to match _process_mass_mailing_queue
# taking last writer as user running a batch
cls.mailing_bl = cls.env['mailing.mailing'].with_user(cls.user_marketing).create({
@@ -32,6 +39,7 @@ class TestMassMailCommon(MassMailCommon, TestMailCommon):
""",
'mailing_type': 'mail',
'mailing_model_id': cls.env['ir.model']._get('mailing.test.blacklist').id,
+ 'reply_to_mode': 'thread',
})
@classmethod
diff --git a/addons/test_mass_mailing/tests/test_mass_mailing.py b/addons/test_mass_mailing/tests/test_mailing.py
similarity index 63%
rename from addons/test_mass_mailing/tests/test_mass_mailing.py
rename to addons/test_mass_mailing/tests/test_mailing.py
index 0a2f45f0e17..4179327de94 100644
--- a/addons/test_mass_mailing/tests/test_mass_mailing.py
+++ b/addons/test_mass_mailing/tests/test_mailing.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo.addons.test_mass_mailing.data.mail_test_data import MAIL_TEMPLATE
from odoo.addons.test_mass_mailing.tests.common import TestMassMailCommon
from odoo.tests import tagged
from odoo.tests.common import users
@@ -14,6 +15,62 @@ class TestMassMailing(TestMassMailCommon):
def setUpClass(cls):
super(TestMassMailing, cls).setUpClass()
+ @users('user_marketing')
+ @mute_logger('odoo.addons.mail.models.mail_thread')
+ def test_mailing_gateway_reply(self):
+ customers = self.env['res.partner']
+ for x in range(0, 3):
+ customers |= self.env['res.partner'].create({
+ 'name': 'Customer_%02d' % x,
+ 'email': '"Customer_%02d"
Hello ${object.name}
', - 'mailing_model_id': self.env['ir.model']._get('res.partner').id, - }) - mailing_test = self.env['mailing.mailing.test'].create({ - 'email_to': 'test@test.com', - 'mass_mailing_id': mailing.id, - }) - - with self.mock_mail_gateway(): - mailing_test.send_mail_test() - - # Test if bad jinja in the subject raises an error - mailing.write({'subject': 'Subject ${object.name_id.id}'}) - with self.mock_mail_gateway(), self.assertRaises(Exception): - mailing_test.send_mail_test() - - # Test if bad jinja in the body raises an error - mailing.write({ - 'subject': 'Subject ${object.name}', - 'body_html': 'Hello ${object.name_id.id}
', - }) - with self.mock_mail_gateway(), self.assertRaises(Exception): - mailing_test.send_mail_test() - - # Test if bad jinja in the preview raises an error - mailing.write({ - 'body_html': 'Hello ${object.name}
', - 'preview': 'Preview ${object.name_id.id}', - }) - with self.mock_mail_gateway(), self.assertRaises(Exception): - mailing_test.send_mail_test() - - def test_mailing_trace_update(self): - customers = self.env['res.partner'] - for x in range(0, 3): - customers |= self.env['res.partner'].create({ - 'name': 'Customer_%02d' % x, - 'email': '"Customer_%02d"Hello ${object.name}
', + 'mailing_model_id': self.env['ir.model']._get('res.partner').id, + }) + mailing_test = self.env['mailing.mailing.test'].create({ + 'email_to': 'test@test.com', + 'mass_mailing_id': mailing.id, + }) + + with self.mock_mail_gateway(): + mailing_test.send_mail_test() + + # Test if bad jinja in the subject raises an error + mailing.write({'subject': 'Subject ${object.name_id.id}'}) + with self.mock_mail_gateway(), self.assertRaises(Exception): + mailing_test.send_mail_test() + + # Test if bad jinja in the body raises an error + mailing.write({ + 'subject': 'Subject ${object.name}', + 'body_html': 'Hello ${object.name_id.id}
', + }) + with self.mock_mail_gateway(), self.assertRaises(Exception): + mailing_test.send_mail_test() + + # Test if bad jinja in the preview raises an error + mailing.write({ + 'body_html': 'Hello ${object.name}
', + 'preview': 'Preview ${object.name_id.id}', + }) + with self.mock_mail_gateway(), self.assertRaises(Exception): + mailing_test.send_mail_test()