2016-05-25 16:03:38 +02:00
|
|
|
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
2019-11-29 16:01:16 +01:00
|
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
2016-05-25 16:03:38 +02:00
|
|
|
|
2016-10-24 11:46:07 +02:00
|
|
|
from odoo.tests import common
|
2016-05-25 16:03:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
class TestMailOptionalFollowernotifications(common.TransactionCase):
|
|
|
|
def setUp(self):
|
2019-11-29 16:01:16 +01:00
|
|
|
super().setUp()
|
2019-12-06 11:37:20 +01:00
|
|
|
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")
|
2016-10-24 11:46:07 +02:00
|
|
|
self.partner_03 = self.demo_user.copy().partner_id
|
2016-05-25 16:03:38 +02:00
|
|
|
|
|
|
|
def test_send_email_optional_follower_notifications(self):
|
|
|
|
ctx = self.env.context.copy()
|
2019-12-06 11:37:20 +01:00
|
|
|
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(partner_ids=[self.demo_user.partner_id.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),
|
|
|
|
]
|
2016-05-25 16:03:38 +02:00
|
|
|
compose_id = mail_compose.with_context(ctx).create(values)
|
|
|
|
compose_id.with_context(ctx).send_mail()
|
|
|
|
res = self.env["mail.message"].search(
|
2019-12-06 11:37:20 +01:00
|
|
|
[("model", "=", "res.partner"), ("res_id", "=", self.partner_01.id)]
|
|
|
|
)
|
2016-05-25 16:03:38 +02:00
|
|
|
self.assertEqual(len(res.ids), 1)
|
2019-12-06 11:37:20 +01:00
|
|
|
message = self.env["mail.message"]
|
2016-05-25 16:03:38 +02:00
|
|
|
for record in res:
|
2019-12-06 11:37:20 +01:00
|
|
|
if record.notification_ids.mapped("res_partner_id").ids == [
|
|
|
|
self.partner_03.id
|
|
|
|
] and record.partner_ids.ids == [self.partner_03.id]:
|
2016-05-25 16:03:38 +02:00
|
|
|
message += record
|
|
|
|
self.assertEqual(len(message.ids), 0)
|
2019-12-06 11:37:20 +01:00
|
|
|
values["partner_ids"] = [(6, 0, [self.partner_03.id])]
|
2016-05-25 16:03:38 +02:00
|
|
|
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(
|
2019-12-06 11:37:20 +01:00
|
|
|
[("model", "=", "res.partner"), ("res_id", "=", self.partner_01.id)]
|
|
|
|
)
|
|
|
|
message = self.env["mail.message"]
|
2016-05-25 16:03:38 +02:00
|
|
|
for record in res:
|
2019-12-06 11:37:20 +01:00
|
|
|
if record.notification_ids.mapped("res_partner_id").ids == [
|
|
|
|
self.partner_03.id
|
|
|
|
] and record.partner_ids.ids == [self.partner_03.id]:
|
2016-05-25 16:03:38 +02:00
|
|
|
message += record
|
|
|
|
self.assertEqual(len(message.ids), 1)
|