summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2017-11-21 13:45:31 +0100
committerThibault Delavallée <tde@odoo.com>2017-11-21 15:00:21 +0100
commit1b2d58daec13f43cb453861be49a649ebb6c0ead (patch)
tree2f3f5f66a3c6e6b49918df8d6c196efaae1438c0 /addons
parent5a2d789d1aadaed787b58dec2de46447602a3310 (diff)
[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.
Diffstat (limited to 'addons')
-rw-r--r--addons/project/tests/test_project_base.py34
1 files 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 <test.sylvie.lelitre@agrolait.com>',
+ 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)])