# Copyright 2015 Pedro M. Baeza # Copyright 2015 Antonio Espinosa # Copyright 2015 Javier Iniesta # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import base from odoo.exceptions import UserError class PartnerMailListWizardCase(base.BaseCase): def test_add_to_mail_list(self): wizard = self.env['partner.mail.list.wizard'].create( {'mail_list_id': self.mailing_list.id}) wizard.partner_ids = [self.partner.id] wizard.add_to_mail_list() contacts = self.env['mail.mass_mailing.contact'].search([ ('partner_id', '=', self.partner.id)]) cont = contacts.filtered(lambda r: wizard.mail_list_id in r.list_ids) self.assertEqual(len(cont), 1) self.check_mailing_contact_partner(cont) # This line does not create a new contact wizard.add_to_mail_list() self.assertEqual(len(self.partner.mass_mailing_contact_ids), 1) self.assertEqual(self.partner.mass_mailing_contact_ids.list_ids, self.mailing_list) list_2 = self.create_mailing_list({'name': 'New list'}) wizard.mail_list_id = list_2 wizard.add_to_mail_list() self.assertEqual(len(self.partner.mass_mailing_contact_ids), 1) self.assertEqual(self.partner.mass_mailing_contact_ids.list_ids, self.mailing_list | list_2) partner = self.env['res.partner'].create({'name': 'No email partner'}) wizard.partner_ids = [partner.id] with self.assertRaises(UserError): wizard.add_to_mail_list()