2017-06-14 20:47:41 +02:00
|
|
|
# Copyright 2015 Pedro M. Baeza <pedro.baeza@tecnativa.com>
|
|
|
|
# Copyright 2015 Antonio Espinosa <antonio.espinosa@tecnativa.com>
|
|
|
|
# Copyright 2015 Javier Iniesta <javieria@antiun.com>
|
2020-02-10 11:40:11 +01:00
|
|
|
# Copyright 2020 Tecnativa - Manuel Calero
|
2016-08-08 13:14:37 +02:00
|
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
2015-08-28 11:15:50 +02:00
|
|
|
|
2017-06-14 20:47:41 +02:00
|
|
|
from odoo.exceptions import UserError
|
2015-08-28 11:15:50 +02:00
|
|
|
|
2020-02-10 11:35:23 +01:00
|
|
|
from . import base
|
|
|
|
|
2015-08-28 11:15:50 +02:00
|
|
|
|
|
|
|
class PartnerMailListWizardCase(base.BaseCase):
|
|
|
|
def test_add_to_mail_list(self):
|
2020-02-10 11:35:23 +01:00
|
|
|
wizard = self.env["partner.mail.list.wizard"].create(
|
|
|
|
{"mail_list_id": self.mailing_list.id}
|
|
|
|
)
|
2015-08-28 11:15:50 +02:00
|
|
|
wizard.partner_ids = [self.partner.id]
|
|
|
|
wizard.add_to_mail_list()
|
2020-02-10 11:40:11 +01:00
|
|
|
contacts = self.env["mailing.contact"].search(
|
2020-02-10 11:35:23 +01:00
|
|
|
[("partner_id", "=", self.partner.id)]
|
|
|
|
)
|
2018-05-17 22:00:43 +02:00
|
|
|
cont = contacts.filtered(lambda r: wizard.mail_list_id in r.list_ids)
|
|
|
|
self.assertEqual(len(cont), 1)
|
|
|
|
self.check_mailing_contact_partner(cont)
|
2015-08-28 11:15:50 +02:00
|
|
|
# This line does not create a new contact
|
|
|
|
wizard.add_to_mail_list()
|
2018-11-18 00:37:27 +01:00
|
|
|
self.assertEqual(len(self.partner.mass_mailing_contact_ids), 1)
|
2020-02-10 11:35:23 +01:00
|
|
|
self.assertEqual(
|
|
|
|
self.partner.mass_mailing_contact_ids.list_ids, self.mailing_list
|
|
|
|
)
|
2018-11-18 00:37:27 +01:00
|
|
|
|
2020-02-10 11:35:23 +01:00
|
|
|
list_2 = self.create_mailing_list({"name": "New list"})
|
2018-11-18 00:37:27 +01:00
|
|
|
wizard.mail_list_id = list_2
|
|
|
|
wizard.add_to_mail_list()
|
|
|
|
self.assertEqual(len(self.partner.mass_mailing_contact_ids), 1)
|
2020-02-10 11:35:23 +01:00
|
|
|
self.assertEqual(
|
|
|
|
self.partner.mass_mailing_contact_ids.list_ids, self.mailing_list | list_2
|
|
|
|
)
|
2018-11-18 00:37:27 +01:00
|
|
|
|
2020-02-10 11:35:23 +01:00
|
|
|
partner = self.env["res.partner"].create({"name": "No email partner"})
|
2015-08-28 11:15:50 +02:00
|
|
|
wizard.partner_ids = [partner.id]
|
|
|
|
with self.assertRaises(UserError):
|
|
|
|
wizard.add_to_mail_list()
|