diff --git a/mail_edit/__init__.py b/mail_edit/__init__.py index 4582ed24..94469cde 100644 --- a/mail_edit/__init__.py +++ b/mail_edit/__init__.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # © 2016 Sunflower IT (http://sunflowerweb.nl) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/mail_edit/tests/__init__.py b/mail_edit/tests/__init__.py new file mode 100644 index 00000000..dfce47fe --- /dev/null +++ b/mail_edit/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +# flake8: noqa + +from . import test_mail_edit diff --git a/mail_edit/tests/test_mail_edit.py b/mail_edit/tests/test_mail_edit.py new file mode 100644 index 00000000..5962d1e3 --- /dev/null +++ b/mail_edit/tests/test_mail_edit.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +# © 2016 Antonio Espinosa - +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp.tests.common import TransactionCase + + +class TestMailEdit(TransactionCase): + def setUp(self, *args, **kwargs): + # make sale.order and res_partner allowed to edit + super(TestMailEdit, self).setUp(*args, **kwargs) + self.rrl_partner = self.env['res.request.link'].create({ + 'name': 'Partner', + 'object': 'res.partner', + 'priority': 1, + 'mail_edit': True, + }) + self.rrl_partner = self.env['res.request.link'].create({ + 'name': 'Partner', + 'object': 'res.partner', + 'priority': 1, + 'mail_edit': True, + }) + self.sender = self.env['res.partner'].create({ + 'name': 'Test sender', + 'email': 'sender@example.com', + 'notify_email': 'always', + }) + self.recipient = self.env['res.partner'].create({ + 'name': 'Test recipient', + 'email': 'recipient@example.com', + 'notify_email': 'always', + }) + self.product = self.env['product.product'].create({ + 'name': 'product_test', + 'type': 'product', + 'uos_id': self.env.ref('product.product_uom_categ_unit').id, + }) + + def test_mail_edit(self): + # This message will generate a notification for recipient + message = self.env['mail.message'].create({ + 'subject': 'Message test', + 'author_id': self.sender.id, + 'email_from': self.sender.email, + 'message_type': 'comment', + 'model': 'res.partner', + 'res_id': self.recipient.id, + 'partner_ids': [(4, self.recipient.id)], + 'body': '

This is a test message

', + }) + # verify model selection present + model_selection = message._get_model_selection() + models = zip(*model_selection)[0].ids + self.assertTrue(self.rrl_sale.id and self.rrl_partner.id in models) + # move the message from partner to sale + message.write({'destination_object_id': self.product.id}) + self.assertEqual( + message.record_name, + "%s %s" % ( + self.env["ir.model"].search([( + "model", '=', message.destination_object_id._name)]).name, + message.destination_object_id.display_name + ) + )