From d52bf613d6c7e6f2b66af7b95bc2cef4d8833cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 11 Jun 2015 16:04:39 +0200 Subject: [PATCH] [CLEAN] mail: tests: reduce a bit the boilerplate of tests to lessen the testing time. --- addons/mail/tests/common.py | 65 +------------------ addons/mail/tests/test_invite.py | 4 +- addons/mail/tests/test_mail_channel.py | 11 ++++ addons/mail/tests/test_mail_features.py | 41 +++++------- addons/mail/tests/test_mail_followers.py | 6 +- addons/mail/tests/test_mail_gateway.py | 34 ++++++++-- addons/mail/tests/test_mail_message.py | 25 ++++--- addons/mail/tests/test_message_read.py | 1 + addons/portal/tests/test_portal.py | 7 +- .../tests/test_access_rights.py | 8 +++ addons/project/tests/test_project_base.py | 2 +- 11 files changed, 92 insertions(+), 112 deletions(-) diff --git a/addons/mail/tests/common.py b/addons/mail/tests/common.py index 42627e0f475..3ca45831f48 100644 --- a/addons/mail/tests/common.py +++ b/addons/mail/tests/common.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -import socket - from openerp.tests import common @@ -25,10 +23,10 @@ class TestMail(common.SavepointCase): super(TestMail, self).setUp() self._mails_args[:] = [] self._mails[:] = [] + @classmethod def setUpClass(cls): super(TestMail, cls).setUpClass() - cr, uid = cls.cr, cls.uid def build_email(self, *args, **kwargs): cls._mails_args.append(args) @@ -47,7 +45,7 @@ class TestMail(common.SavepointCase): user_group_public = cls.env.ref('base.group_public') # User Data: employee, noone - Users = cls.env['res.users'].with_context({'no_reset_password': True}) + Users = cls.env['res.users'].with_context({'no_reset_password': True, 'mail_create_nosubscribe': True}) cls.user_employee = Users.create({ 'name': 'Ernest Employee', 'login': 'ernest', @@ -56,22 +54,6 @@ class TestMail(common.SavepointCase): 'signature': '--\nErnest', 'notify_email': 'always', 'groups_id': [(6, 0, [user_group_employee.id])]}) - cls.user_employee_2 = Users.create({ - 'name': 'Raoul Grosbedon', - 'login': 'raoul', - 'alias_name': 'raoul', - 'email': 'r.g@example.com', - 'signature': 'SignRaoul', - 'notify_email': 'always', - 'groups_id': [(6, 0, [user_group_employee.id])]}) - cls.user_noone = Users.create({ - 'name': 'Noemie NoOne', - 'login': 'noemie', - 'alias_name': 'noemie', - 'email': 'n.n@example.com', - 'signature': '--\nNoemie', - 'notify_email': 'always', - 'groups_id': [(6, 0, [])]}) cls.user_public = Users.create({ 'name': 'Bert Tartignole', 'login': 'bert', @@ -89,20 +71,6 @@ class TestMail(common.SavepointCase): 'notify_email': 'always', 'groups_id': [(6, 0, [user_group_portal.id])]}) cls.user_admin = cls.env.user - # Update admin - # Set an email address for the user running the tests, used as Sender for outgoing mails - cls._company_name = 'TestCompany' - cls._admin_name = 'Administrator' - cls._admin_email = 'test@localhost' - cls.user_admin.write({ - 'email': cls._admin_email, - 'name': cls._admin_name, - 'signature': 'SignAdmin', - 'notify_email': 'always', - }) - cls.user_admin.company_id.write({ - 'name': cls._company_name, - }) # Test Data for Partners cls.partner_1 = cls.env['res.partner'].create({ @@ -136,35 +104,6 @@ class TestMail(common.SavepointCase): 'alias_name': 'public', 'alias_contact': 'everyone'} ).with_context({'mail_create_nosubscribe': False}) - # Private: private group - cls.group_private = TestMailGroup.create({ - 'name': 'Private', - 'public': 'private'} - ).with_context({'mail_create_nosubscribe': False}) - # Portal: group-based group using portal group - cls.group_portal = TestMailGroup.create({ - 'name': 'PigsPortal', - 'public': 'groups', - 'group_public_id': user_group_portal.id} - ).with_context({'mail_create_nosubscribe': False}) - - # groups@.. will cause the creation of new mail channels - cls.mail_channel_model = cls.env['ir.model'].search([('model', '=', 'mail.channel')], limit=1) - cls.alias = cls.env['mail.alias'].create({ - 'alias_name': 'groups', - 'alias_user_id': False, - 'alias_model_id': cls.mail_channel_model.id, - 'alias_contact': 'everyone'}) - - # Set a first message on public group to test update and hierarchy - cls.fake_email = cls.env['mail.message'].create({ - 'model': 'mail.channel', - 'res_id': cls.group_public.id, - 'subject': 'Public Discussion', - 'message_type': 'email', - 'author_id': cls.partner_1.id, - 'message_id': '<123456-openerp-%s-mail.group@%s>' % (cls.group_public.id, socket.gethostname()), - }) cls._init_mock_build_email() diff --git a/addons/mail/tests/test_invite.py b/addons/mail/tests/test_invite.py index d3d49630ff7..bd58e973ab0 100644 --- a/addons/mail/tests/test_invite.py +++ b/addons/mail/tests/test_invite.py @@ -12,13 +12,13 @@ class TestInvite(TestMail): 'default_res_model': 'mail.channel', 'default_res_id': self.group_pigs.id }).sudo(self.user_employee.id).create({ - 'partner_ids': [(4, self.user_portal.partner_id.id), (4, self.user_employee_2.partner_id.id)], + 'partner_ids': [(4, self.user_portal.partner_id.id), (4, self.partner_1.id)], 'send_mail': True}) mail_invite.add_followers() # Test: Pigs followers should contain Admin, Bert self.assertEqual(self.group_pigs.message_follower_ids, - self.user_portal.partner_id | self.user_employee_2.partner_id, + self.user_portal.partner_id | self.partner_1, 'invite wizard: Pigs followers after invite is incorrect, should be Admin + added follower') # Test: (pretend to) send email and check subject, body diff --git a/addons/mail/tests/test_mail_channel.py b/addons/mail/tests/test_mail_channel.py index 991b9e2c831..aef35b25c76 100644 --- a/addons/mail/tests/test_mail_channel.py +++ b/addons/mail/tests/test_mail_channel.py @@ -8,6 +8,17 @@ from openerp.tools import mute_logger class TestMailGroup(TestMail): + def setUp(self): + super(TestMailGroup, self).setUp() + # Private: private group + self.group_private = self.env['mail.channel'].with_context({ + 'mail_create_nolog': True, + 'mail_create_nosubscribe': True + }).create({ + 'name': 'Private', + 'public': 'private'} + ).with_context({'mail_create_nosubscribe': False}) + @mute_logger('openerp.addons.base.ir.ir_model', 'openerp.models') def test_access_rights_public(self): # Read public group -> ok diff --git a/addons/mail/tests/test_mail_features.py b/addons/mail/tests/test_mail_features.py index 0c7e809a5ff..9a19882fd79 100644 --- a/addons/mail/tests/test_mail_features.py +++ b/addons/mail/tests/test_mail_features.py @@ -141,12 +141,12 @@ class TestMailFeatures(TestMail): @mute_logger('openerp.addons.mail.models.mail_mail') def test_needaction(self): na_emp1_base = self.env['mail.message'].sudo(self.user_employee)._needaction_count(domain=[]) - na_emp2_base = self.env['mail.message'].sudo(self.user_employee_2)._needaction_count(domain=[]) + na_emp2_base = self.env['mail.message'].sudo()._needaction_count(domain=[]) self.group_pigs.message_post(body='Test', message_type='comment', subtype='mail.mt_comment', partner_ids=[self.user_employee.partner_id.id]) na_emp1_new = self.env['mail.message'].sudo(self.user_employee)._needaction_count(domain=[]) - na_emp2_new = self.env['mail.message'].sudo(self.user_employee_2)._needaction_count(domain=[]) + na_emp2_new = self.env['mail.message'].sudo()._needaction_count(domain=[]) self.assertEqual(na_emp1_new, na_emp1_base + 1) self.assertEqual(na_emp2_new, na_emp2_base) @@ -158,22 +158,6 @@ class TestMailFeatures(TestMail): class TestMessagePost(TestMail): - def setUp(self): - super(TestMessagePost, self).setUp() - self._attach_1 = self.env['ir.attachment'].sudo(self.user_employee).create({ - 'name': 'Attach1', 'datas_fname': 'Attach1', - 'datas': 'bWlncmF0aW9uIHRlc3Q=', - 'res_model': 'mail.compose.message', 'res_id': 0}) - self._attach_2 = self.env['ir.attachment'].sudo(self.user_employee).create({ - 'name': 'Attach2', 'datas_fname': 'Attach2', - 'datas': 'bWlncmF0aW9uIHRlc3Q=', - 'res_model': 'mail.compose.message', 'res_id': 0}) - self._attach_3 = self.env['ir.attachment'].sudo(self.user_employee).create({ - 'name': 'Attach3', 'datas_fname': 'Attach3', - 'datas': 'bWlncmF0aW9uIHRlc3Q=', - 'res_model': 'mail.compose.message', 'res_id': 0}) - self.group_pigs.message_subscribe_users(user_ids=self.user_employee.id) - @mute_logger('openerp.addons.mail.models.mail_mail') def test_post_no_subscribe_author(self): original_followers = self.group_pigs.message_follower_ids @@ -217,10 +201,19 @@ class TestMessagePost(TestMail): ('List1', 'My first attachment'), ('List2', 'My second attachment') ] + _attach_1 = self.env['ir.attachment'].sudo(self.user_employee).create({ + 'name': 'Attach1', 'datas_fname': 'Attach1', + 'datas': 'bWlncmF0aW9uIHRlc3Q=', + 'res_model': 'mail.compose.message', 'res_id': 0}) + _attach_2 = self.env['ir.attachment'].sudo(self.user_employee).create({ + 'name': 'Attach2', 'datas_fname': 'Attach2', + 'datas': 'bWlncmF0aW9uIHRlc3Q=', + 'res_model': 'mail.compose.message', 'res_id': 0}) # partner_2 does not want to receive notification email self.partner_2.write({'notify_email': 'none'}) + self.user_admin.write({'notify_email': 'always'}) # subscribe second employee to the group to test notifications - self.group_pigs.message_subscribe_users(user_ids=self.user_employee_2.id) + self.group_pigs.message_subscribe_users(user_ids=[self.env.user.id]) # use aliases _domain = 'schlouby.fr' @@ -230,14 +223,14 @@ class TestMessagePost(TestMail): msg = self.group_pigs.sudo(self.user_employee).message_post( body=_body, subject=_subject, partner_ids=[self.partner_1.id, self.partner_2.id], - attachment_ids=[self._attach_1.id, self._attach_2.id], attachments=_attachments, + attachment_ids=[_attach_1.id, _attach_2.id], attachments=_attachments, message_type='comment', subtype='mt_comment') # message content self.assertEqual(msg.subject, _subject) self.assertEqual(msg.body, _body) self.assertEqual(msg.partner_ids, self.partner_1 | self.partner_2) - self.assertEqual(msg.notified_partner_ids, self.partner_1 | self.partner_2 | self.user_employee_2.partner_id) + self.assertEqual(msg.notified_partner_ids, self.partner_1 | self.partner_2 | self.env.user.partner_id) # attachments self.assertEqual(set(msg.attachment_ids.mapped('res_model')), set(['mail.channel']), 'message_post: all atttachments should be linked to the mail.channel model') @@ -245,7 +238,7 @@ class TestMessagePost(TestMail): 'message_post: all atttachments should be linked to the pigs group') self.assertEqual(set([x.decode('base64') for x in msg.attachment_ids.mapped('datas')]), set(['migration test', _attachments[0][1], _attachments[1][1]])) - self.assertTrue(set([self._attach_1.id, self._attach_2.id]).issubset(msg.attachment_ids.ids), + self.assertTrue(set([_attach_1.id, _attach_2.id]).issubset(msg.attachment_ids.ids), 'message_post: mail.message attachments duplicated') # notifications self.assertFalse(self.env['mail.mail'].search([('mail_message_id', '=', msg.message_id)]), @@ -257,11 +250,11 @@ class TestMessagePost(TestMail): 'message_post: notification email wrong email_from: should use alias of sender') self.assertEqual(set(m['email_to'][0] for m in self._mails), set(['%s <%s>' % (self.partner_1.name, self.partner_1.email), - '%s <%s>' % (self.user_employee_2.name, self.user_employee_2.email)])) + '%s <%s>' % (self.env.user.name, self.env.user.email)])) self.assertFalse(any(len(m['email_to']) != 1 for m in self._mails), 'message_post: notification email should be sent to one partner at a time') self.assertEqual(set(m['reply_to'] for m in self._mails), - set(['%s %s <%s@%s>' % (self._company_name, self.group_pigs.name, self.group_pigs.alias_name, _domain)]), + set(['%s %s <%s@%s>' % (self.env.user.company_id.name, self.group_pigs.name, self.group_pigs.alias_name, _domain)]), 'message_post: notification email should use group aliases and data for reply to') self.assertTrue(all(_subject in m['subject'] for m in self._mails)) self.assertTrue(all(_body in m['body'] for m in self._mails)) diff --git a/addons/mail/tests/test_mail_followers.py b/addons/mail/tests/test_mail_followers.py index bba08a42b58..ca9ef777bd9 100644 --- a/addons/mail/tests/test_mail_followers.py +++ b/addons/mail/tests/test_mail_followers.py @@ -29,15 +29,15 @@ class TestMailFollowers(TestMail): self.assertEqual(self.group_pigs.message_follower_ids, self.partner_1) # Set followers through the (6, 0, IDs) command - self.group_pigs.write({'message_follower_ids': [(6, 0, [self.partner_2.id, self.user_employee_2.partner_id.id])]}) + self.group_pigs.write({'message_follower_ids': [(6, 0, [self.partner_2.id, self.env.user.partner_id.id])]}) self.assertEqual(self.group_pigs.message_follower_ids, - self.partner_2 | self.user_employee_2.partner_id) + self.partner_2 | self.env.user.partner_id) # Add 1 follower through the (0, 0, values) command self.group_pigs.write({'message_follower_ids': [(0, 0, {'name': 'Patrick Fiori'})]}) partner_patrick = self.env['res.partner'].search([('name', '=', 'Patrick Fiori')], limit=1) self.assertEqual(self.group_pigs.message_follower_ids, - self.partner_2 | self.user_employee_2.partner_id | partner_patrick) + self.partner_2 | self.env.user.partner_id | partner_patrick) # Remove all followers through a (5, 0) command self.group_pigs.write({'message_follower_ids': [(5, 0)]}) diff --git a/addons/mail/tests/test_mail_gateway.py b/addons/mail/tests/test_mail_gateway.py index c383622d929..5af0c5f99af 100644 --- a/addons/mail/tests/test_mail_gateway.py +++ b/addons/mail/tests/test_mail_gateway.py @@ -176,6 +176,26 @@ Content-Type: text/html; class TestMailgateway(TestMail): + def setUp(self): + super(TestMailgateway, self).setUp() + # groups@.. will cause the creation of new mail.channels + self.mail_channel_model = self.env['ir.model'].search([('model', '=', 'mail.channel')], limit=1) + self.alias = self.env['mail.alias'].create({ + 'alias_name': 'groups', + 'alias_user_id': False, + 'alias_model_id': self.mail_channel_model.id, + 'alias_contact': 'everyone'}) + + # Set a first message on public group to test update and hierarchy + self.fake_email = self.env['mail.message'].create({ + 'model': 'mail.channel', + 'res_id': self.group_public.id, + 'subject': 'Public Discussion', + 'message_type': 'email', + 'author_id': self.partner_1.id, + 'message_id': '<123456-openerp-%s-mail.channel@%s>' % (self.group_public.id, socket.gethostname()), + }) + @mute_logger('openerp.addons.mail.models.mail_thread') def test_message_parse(self): """ Test parsing of various scenarios of incoming emails """ @@ -513,7 +533,7 @@ class TestMailgateway(TestMail): @mute_logger('openerp.addons.mail.models.mail_thread', 'openerp.models', 'openerp.addons.mail.models.mail_mail') def test_private_discussion(self): """ Testing private discussion between partners. """ - msg1_pids = [self.user_employee_2.partner_id.id, self.partner_1.id] + msg1_pids = [self.env.user.partner_id.id, self.partner_1.id] # Do: Raoul writes to Bert and Administrator, with a thread_model in context that should not be taken into account msg1 = self.env['mail.thread'].with_context({ @@ -522,9 +542,9 @@ class TestMailgateway(TestMail): # Test: message recipients msg = self.env['mail.message'].browse(msg1.id) - self.assertEqual(msg.partner_ids, self.user_employee_2.partner_id | self.partner_1, + self.assertEqual(msg.partner_ids, self.env.user.partner_id | self.partner_1, 'message_post: private discussion: incorrect recipients') - self.assertEqual(msg.notified_partner_ids, self.user_employee_2.partner_id | self.partner_1, + self.assertEqual(msg.notified_partner_ids, self.env.user.partner_id | self.partner_1, 'message_post: private discussion: incorrect notified recipients') self.assertEqual(msg.model, False, 'message_post: private discussion: context key "thread_model" not correctly ignored when having no res_id') @@ -541,9 +561,9 @@ class TestMailgateway(TestMail): # Test: message recipients self.assertEqual(msg2.author_id, self.partner_1, 'message_post: private discussion: wrong author through mailgatewya based on email') - self.assertEqual(msg2.partner_ids, self.user_employee.partner_id | self.user_employee_2.partner_id, + self.assertEqual(msg2.partner_ids, self.user_employee.partner_id | self.env.user.partner_id, 'message_post: private discussion: incorrect recipients when replying') - self.assertEqual(msg2.notified_partner_ids, self.user_employee.partner_id | self.user_employee_2.partner_id, + self.assertEqual(msg2.notified_partner_ids, self.user_employee.partner_id | self.env.user.partner_id, 'message_post: private discussion: incorrect notified recipients when replying') # Do: Bert replies through chatter (is a customer) @@ -551,7 +571,7 @@ class TestMailgateway(TestMail): # Test: message recipients msg = self.env['mail.message'].browse(msg3.id) - self.assertEqual(msg.partner_ids, self.user_employee.partner_id | self.user_employee_2.partner_id, + self.assertEqual(msg.partner_ids, self.user_employee.partner_id | self.env.user.partner_id, 'message_post: private discussion: incorrect recipients when replying') - self.assertEqual(msg.notified_partner_ids, self.user_employee.partner_id | self.user_employee_2.partner_id, + self.assertEqual(msg.notified_partner_ids, self.user_employee.partner_id | self.env.user.partner_id, 'message_post: private discussion: incorrect notified recipients when replying') diff --git a/addons/mail/tests/test_mail_message.py b/addons/mail/tests/test_mail_message.py index 4fbd2913f69..1fb7f8dff7d 100644 --- a/addons/mail/tests/test_mail_message.py +++ b/addons/mail/tests/test_mail_message.py @@ -10,15 +10,17 @@ class TestMailMessage(TestMail): def setUp(self): super(TestMailMessage, self).setUp() - self.attachment = self.env['ir.attachment'].create({ - 'datas': 'My attachment'.encode('base64'), - 'name': 'doc.txt', - 'datas_fname': 'doc.txt'}) + self.group_private = self.env['mail.channel'].with_context({ + 'mail_create_nolog': True, + 'mail_create_nosubscribe': True + }).create({ + 'name': 'Private', + 'public': 'private'} + ).with_context({'mail_create_nosubscribe': False}) self.message = self.env['mail.message'].create({ 'body': 'My Body', 'model': 'mail.channel', 'res_id': self.group_private.id, - 'attachment_ids': [(4, self.attachment.id)], }) def test_mail_message_values_basic(self): @@ -58,7 +60,7 @@ class TestMailMessage(TestMail): msg = self.env['mail.message'].sudo(self.user_employee).create({}) self.assertIn('-private', msg.message_id, 'mail_message: message_id for a void message should be a "private" one') - self.assertEqual(msg.reply_to, '%s <%s@%s>' % (self._company_name, alias_catchall, alias_domain)) + self.assertEqual(msg.reply_to, '%s <%s@%s>' % (self.env.user.company_id.name, alias_catchall, alias_domain)) self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain)) def test_mail_message_values_document_no_alias(self): @@ -82,7 +84,7 @@ class TestMailMessage(TestMail): 'res_id': self.group_pigs.id }) self.assertIn('-openerp-%d-mail.channel' % self.group_pigs.id, msg.message_id, 'mail_message: message_id for a void message should be a "private" one') - self.assertEqual(msg.reply_to, '%s %s <%s@%s>' % (self._company_name, self.group_pigs.name, self.group_pigs.alias_name, alias_domain)) + self.assertEqual(msg.reply_to, '%s %s <%s@%s>' % (self.env.user.company_id.name, self.group_pigs.name, self.group_pigs.alias_name, alias_domain)) self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain)) def test_mail_message_values_document_alias_catchall(self): @@ -96,7 +98,7 @@ class TestMailMessage(TestMail): 'res_id': self.group_pigs.id }) self.assertIn('-openerp-%d-mail.channel' % self.group_pigs.id, msg.message_id, 'mail_message: message_id for a void message should be a "private" one') - self.assertEqual(msg.reply_to, '%s %s <%s@%s>' % (self._company_name, self.group_pigs.name, self.group_pigs.alias_name, alias_domain)) + self.assertEqual(msg.reply_to, '%s %s <%s@%s>' % (self.env.user.company_id.name, self.group_pigs.name, self.group_pigs.alias_name, alias_domain)) self.assertEqual(msg.email_from, '%s <%s@%s>' % (self.user_employee.name, self.user_employee.alias_name, alias_domain)) def test_mail_message_values_no_auto_thread(self): @@ -180,10 +182,15 @@ class TestMailMessage(TestMail): self.message.sudo(self.user_portal).read(['body', 'message_type', 'subtype_id']) def test_mail_message_access_read_notification(self): + attachment = self.env['ir.attachment'].create({ + 'datas': 'My attachment'.encode('base64'), + 'name': 'doc.txt', + 'datas_fname': 'doc.txt'}) + self.message.write({'attachment_ids': [(4, attachment.id)]}) self.env['mail.notification'].create({'message_id': self.message.id, 'partner_id': self.user_employee.partner_id.id}) self.message.sudo(self.user_employee).read() # Test: Bert downloads attachment, ok because he can read message - self.message.sudo(self.user_employee).download_attachment(self.attachment.id) + self.message.sudo(self.user_employee).download_attachment(attachment.id) def test_mail_message_access_read_author(self): self.message.write({'author_id': self.user_employee.partner_id.id}) diff --git a/addons/mail/tests/test_message_read.py b/addons/mail/tests/test_message_read.py index c7c4a2f2ea7..1f857f90bef 100644 --- a/addons/mail/tests/test_message_read.py +++ b/addons/mail/tests/test_message_read.py @@ -9,6 +9,7 @@ class TestMessageRead(TestMail): @mute_logger('openerp.addons.mail.models.mail_mail') def setUp(self): super(TestMessageRead, self).setUp() + self.user_employee.write({'notify_email': 'none'}) self.group_pigs.message_subscribe_users([self.user_employee.id]) self.msg_0 = self.group_pigs.message_post(body='0', subtype='mt_comment') self.msg_1 = self.group_pigs.message_post(body='1', subtype='mt_comment') diff --git a/addons/portal/tests/test_portal.py b/addons/portal/tests/test_portal.py index 5745ab80ec6..01d968b5d70 100644 --- a/addons/portal/tests/test_portal.py +++ b/addons/portal/tests/test_portal.py @@ -7,15 +7,16 @@ from openerp.tools.misc import mute_logger class test_portal(TestMail): def test_mail_compose_access_rights(self): - port_msg = self.group_portal.message_post(body='Message') + self.group_pigs.write({'group_public_id': self.env.ref('base.group_portal').id}) + port_msg = self.group_pigs.message_post(body='Message') # Do: Chell comments Pigs, ok because can write on it (public group) - self.group_portal.sudo(self.user_portal).message_post(body='I love Pigs', message_type='comment', subtype='mail.mt_comment') + self.group_pigs.sudo(self.user_portal).message_post(body='I love Pigs', message_type='comment', subtype='mail.mt_comment') # Do: Chell creates a mail.compose.message record on Pigs, because he uses the wizard compose = self.env['mail.compose.message'].with_context({ 'default_composition_mode': 'comment', 'default_model': 'mail.channel', - 'default_res_id': self.group_portal.id + 'default_res_id': self.group_pigs.id }).sudo(self.user_portal).create({ 'subject': 'Subject', 'body': 'Body text', diff --git a/addons/portal_project/tests/test_access_rights.py b/addons/portal_project/tests/test_access_rights.py index b6846bd623e..cb8570f43b1 100644 --- a/addons/portal_project/tests/test_access_rights.py +++ b/addons/portal_project/tests/test_access_rights.py @@ -11,6 +11,14 @@ class TestPortalProjectBase(TestProjectBase): def setUp(self): super(TestPortalProjectBase, self).setUp() + self.user_noone = self.env['res.users'].with_context({'no_reset_password': True, 'mail_create_nosubscribe': True}).create({ + 'name': 'Noemie NoOne', + 'login': 'noemie', + 'alias_name': 'noemie', + 'email': 'n.n@example.com', + 'signature': '--\nNoemie', + 'notify_email': 'always', + 'groups_id': [(6, 0, [])]}) self.task_3 = self.env['project.task'].with_context({'mail_create_nolog': True}).create({ 'name': 'Test3', 'user_id': self.user_portal.id, 'project_id': self.project_pigs.id}) diff --git a/addons/project/tests/test_project_base.py b/addons/project/tests/test_project_base.py index 44f6a6c2f9f..dcf20aa62d5 100644 --- a/addons/project/tests/test_project_base.py +++ b/addons/project/tests/test_project_base.py @@ -34,7 +34,7 @@ class TestProjectBase(TestMail): 'name': 'Pigs', 'privacy_visibility': 'public', 'alias_name': 'project+pigs', - 'partner_id': cls.user_employee_2.partner_id.id}) + 'partner_id': cls.partner_1.id}) # Already-existing tasks in Pigs cls.task_1 = cls.env['project.task'].with_context({'mail_create_nolog': True}).create({ 'name': 'Pigs UserTask',