55 lines
2.2 KiB
Python
55 lines
2.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.addons.mail.tests.common import MailCommon
|
|
from odoo.addons.test_mail.tests.common import TestRecipients
|
|
from odoo.tests import tagged
|
|
|
|
|
|
@tagged('mail_management')
|
|
class TestMailManagement(MailCommon, TestRecipients):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(TestMailManagement, cls).setUpClass()
|
|
cls.test_record = cls.env['mail.test.simple'].with_context(cls._test_context).create({'name': 'Test'})
|
|
cls._reset_mail_context(cls.test_record)
|
|
cls.msg = cls.test_record.message_post(body='TEST BODY', author_id=cls.partner_employee.id)
|
|
cls.notif_p1 = cls.env['mail.notification'].create({
|
|
'author_id': cls.msg.author_id.id,
|
|
'mail_message_id': cls.msg.id,
|
|
'res_partner_id': cls.partner_1.id,
|
|
'notification_type': 'email',
|
|
'notification_status': 'exception',
|
|
'failure_type': 'mail_smtp',
|
|
})
|
|
cls.notif_p2 = cls.env['mail.notification'].create({
|
|
'author_id': cls.msg.author_id.id,
|
|
'mail_message_id': cls.msg.id,
|
|
'res_partner_id': cls.partner_2.id,
|
|
'notification_type': 'email',
|
|
'notification_status': 'bounce',
|
|
'failure_type': 'unknown',
|
|
})
|
|
cls.partner_3 = cls.env['res.partner'].create({
|
|
'name': 'Partner3',
|
|
'email': 'partner3@example.com',
|
|
})
|
|
cls.notif_p3 = cls.env['mail.notification'].create({
|
|
'author_id': cls.msg.author_id.id,
|
|
'mail_message_id': cls.msg.id,
|
|
'res_partner_id': cls.partner_3.id,
|
|
'notification_type': 'email',
|
|
'notification_status': 'sent',
|
|
'failure_type': None,
|
|
})
|
|
|
|
def test_mail_notify_cancel(self):
|
|
self._reset_bus()
|
|
|
|
self.test_record.with_user(self.user_employee).notify_cancel_by_type('email')
|
|
self.assertEqual((self.notif_p1 | self.notif_p2 | self.notif_p3).mapped('notification_status'),
|
|
['canceled', 'canceled', 'sent'])
|
|
|
|
self.assertMessageBusNotifications(self.msg)
|