summaryrefslogtreecommitdiff
path: root/addons/test_mass_mailing/tests/test_mailing_test.py
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2021-04-26 08:49:21 +0000
committerThibault Delavallée <tde@odoo.com>2021-04-27 09:15:43 +0000
commit4cf75bb1767fe7524c8e4d895d84ad2b56ef404d (patch)
tree199ee28b117b134cc6e23cd10582a53af298197d /addons/test_mass_mailing/tests/test_mailing_test.py
parent733411fe03b924832d6b10cadf93c8fc09cc5802 (diff)
[IMP] test_mass_mailing: improve test data management and test users, merge mailing tests
In this commit we try to simplify tests organization by * merging mailing_internals and mass_mailing tests, as they globally handle mailing-related tests (blacklist, opt-out, gateway update through replies and clicks); * move wizard (mailing.test) tests in their own file as they target a specific model; * add some loggers to reduce noise; * add some users wrappers to test using real users; Backport of odoo/odoo@230b8258a551010080dd582923afe5a2f91d644b done in master (14.4) LINKS Task ID-2117639 COM PR odoo/odoo#40931
Diffstat (limited to 'addons/test_mass_mailing/tests/test_mailing_test.py')
-rw-r--r--addons/test_mass_mailing/tests/test_mailing_test.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/addons/test_mass_mailing/tests/test_mailing_test.py b/addons/test_mass_mailing/tests/test_mailing_test.py
new file mode 100644
index 00000000000..33c0419af07
--- /dev/null
+++ b/addons/test_mass_mailing/tests/test_mailing_test.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.test_mass_mailing.tests.common import TestMassMailCommon
+from odoo.tests.common import users
+from odoo.tools import mute_logger
+
+
+class TestMailingTest(TestMassMailCommon):
+
+ @users('user_marketing')
+ @mute_logger('odoo.addons.mail.models.mail_render_mixin')
+ def test_mailing_test_button(self):
+ mailing = self.env['mailing.mailing'].create({
+ 'name': 'TestButton',
+ 'subject': 'Subject ${object.name}',
+ 'preview': 'Preview ${object.name}',
+ 'state': 'draft',
+ 'mailing_type': 'mail',
+ 'body_html': '<p>Hello ${object.name}</p>',
+ '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': '<p>Hello ${object.name_id.id}</p>',
+ })
+ 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': '<p>Hello ${object.name}</p>',
+ 'preview': 'Preview ${object.name_id.id}',
+ })
+ with self.mock_mail_gateway(), self.assertRaises(Exception):
+ mailing_test.send_mail_test()