From 1b2d58daec13f43cb453861be49a649ebb6c0ead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 21 Nov 2017 13:45:31 +0100 Subject: [PATCH] [REF] project: tests: make tests independent from mail Purpose is to be able to move mail tests in a separate module without breaking other tests. It seems dependency is not real, only some data to add. It is better to have self contained tests anyway. --- addons/project/tests/test_project_base.py | 34 +++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/addons/project/tests/test_project_base.py b/addons/project/tests/test_project_base.py index 4713aa5edb6..8fcc5939185 100644 --- a/addons/project/tests/test_project_base.py +++ b/addons/project/tests/test_project_base.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -from odoo.addons.mail.tests.common import TestMail +from odoo.tests.common import SavepointCase -class TestProjectBase(TestMail): +class TestProjectBase(SavepointCase): @classmethod def setUpClass(cls): @@ -13,8 +13,29 @@ class TestProjectBase(TestMail): user_group_project_user = cls.env.ref('project.group_project_user') user_group_project_manager = cls.env.ref('project.group_project_manager') + cls.partner_1 = cls.env['res.partner'].create({ + 'name': 'Valid Lelitre', + 'email': 'valid.lelitre@agrolait.com'}) + cls.partner_2 = cls.env['res.partner'].create({ + 'name': 'Valid Poilvache', + 'email': 'valid.other@gmail.com'}) + # Test users to use through the various tests Users = cls.env['res.users'].with_context({'no_reset_password': True}) + cls.user_public = Users.create({ + 'name': 'Bert Tartignole', + 'login': 'bert', + 'email': 'b.t@example.com', + 'signature': 'SignBert', + 'notification_type': 'email', + 'groups_id': [(6, 0, [cls.env.ref('base.group_public').id])]}) + cls.user_portal = Users.create({ + 'name': 'Chell Gladys', + 'login': 'chell', + 'email': 'chell@gladys.portal', + 'signature': 'SignChell', + 'notification_type': 'email', + 'groups_id': [(6, 0, [cls.env.ref('base.group_portal').id])]}) cls.user_projectuser = Users.create({ 'name': 'Armande ProjectUser', 'login': 'Armande', @@ -59,3 +80,12 @@ class TestProjectBase(TestMail): 'sequence': 10, })] }) + + def format_and_process(self, template, to='groups@example.com, other@gmail.com', subject='Frogs', + extra='', email_from='Sylvie Lelitre ', + cc='', msg_id='<1198923581.41972151344608186760.JavaMail@agrolait.com>', + model=None, target_model='project.task', target_field='name'): + self.assertFalse(self.env[target_model].search([(target_field, '=', subject)])) + mail = template.format(to=to, subject=subject, cc=cc, extra=extra, email_from=email_from, msg_id=msg_id) + self.env['mail.thread'].with_context(mail_channel_noautofollow=True).message_process(model, mail) + return self.env[target_model].search([(target_field, '=', subject)])