You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.6 KiB
57 lines
2.6 KiB
# -*- coding: utf-8 -*-
|
|
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo.tests import common
|
|
|
|
|
|
class TestMailOptionalFollowernotifications(common.TransactionCase):
|
|
|
|
def setUp(self):
|
|
super(TestMailOptionalFollowernotifications, self).setUp()
|
|
self.partner_obj = self.env['res.partner']
|
|
self.partner_01 = self.env.ref('base.res_partner_2')
|
|
self.demo_user = self.env.ref('base.user_demo')
|
|
self.partner_03 = self.demo_user.copy().partner_id
|
|
|
|
def test_send_email_optional_follower_notifications(self):
|
|
ctx = self.env.context.copy()
|
|
ctx.update({
|
|
'default_model': 'res.partner',
|
|
'default_res_id': self.partner_01.id,
|
|
'default_composition_mode': 'comment',
|
|
})
|
|
mail_compose = self.env['mail.compose.message']
|
|
self.partner_01.message_subscribe_users(user_ids=[self.demo_user.id])
|
|
values = mail_compose.with_context(ctx)\
|
|
.onchange_template_id(False, 'comment', 'res.partner',
|
|
self.partner_01.id)['value']
|
|
values['partner_ids'] = [(4, self.demo_user.partner_id.id),
|
|
(4, self.partner_03.id)]
|
|
compose_id = mail_compose.with_context(ctx).create(values)
|
|
compose_id.with_context(ctx).send_mail()
|
|
res = self.env["mail.message"].search(
|
|
[('model', '=', 'res.partner'),
|
|
('res_id', '=', self.partner_01.id)])
|
|
self.assertEqual(len(res.ids), 1)
|
|
message = self.env['mail.message']
|
|
for record in res:
|
|
if record.notification_ids.mapped('res_partner_id').ids == \
|
|
[self.partner_03.id] and \
|
|
record.partner_ids.ids == [self.partner_03.id]:
|
|
message += record
|
|
self.assertEqual(len(message.ids), 0)
|
|
values['partner_ids'] = [(6, 0, [self.partner_03.id])]
|
|
compose_id = mail_compose.with_context(ctx).create(values)
|
|
compose_id.notify_followers = False
|
|
compose_id.with_context(ctx).send_mail()
|
|
res = self.env["mail.message"].search(
|
|
[('model', '=', 'res.partner'),
|
|
('res_id', '=', self.partner_01.id)])
|
|
message = self.env['mail.message']
|
|
for record in res:
|
|
if record.notification_ids.mapped('res_partner_id').ids == \
|
|
[self.partner_03.id] and\
|
|
record.partner_ids.ids == [self.partner_03.id]:
|
|
message += record
|
|
self.assertEqual(len(message.ids), 1)
|