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.

35 lines
1.5 KiB

  1. # -*- coding: utf-8 -*-
  2. # See README.rst file on addon root folder for license details
  3. from . import base
  4. from .. import _match_existing_contacts
  5. from psycopg2 import IntegrityError
  6. class MailMassMailingContactCase(base.BaseCase):
  7. def test_match_existing_contacts(self):
  8. contact = self.create_mailing_contact(
  9. {'email': 'partner@test.com', 'list_id': self.mailing_list.id})
  10. _match_existing_contacts(self.cr, self.registry)
  11. self.assertEqual(contact.partner_id.id, self.partner.id)
  12. def test_create_mass_mailing_contact(self):
  13. contact = self.create_mailing_contact(
  14. {'email': 'partner2@test.com', 'name': 'Partner test 2',
  15. 'list_id': self.mailing_list2.id})
  16. self.check_mailing_contact_partner(contact)
  17. with self.assertRaises(IntegrityError):
  18. self.create_mailing_contact({'email': 'partner2@test.com',
  19. 'list_id': self.mailing_list2.id})
  20. def test_write_mass_mailing_contact(self):
  21. contact = self.create_mailing_contact(
  22. {'email': 'partner@test.com', 'list_id': self.mailing_list.id})
  23. contact.write({'partner_id': False})
  24. self.check_mailing_contact_partner(contact)
  25. contact2 = self.create_mailing_contact(
  26. {'email': 'partner2@test.com', 'name': 'Partner test 2',
  27. 'list_id': self.mailing_list.id})
  28. contact.write({'partner_id': False})
  29. self.assertFalse(contact2.partner_id)