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.

54 lines
2.4 KiB

  1. # -*- coding: utf-8 -*-
  2. # Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
  4. from openerp.tests import common
  5. class TestMailOptionalFollowernotifications(common.TransactionCase):
  6. def setUp(self):
  7. super(TestMailOptionalFollowernotifications, self).setUp()
  8. self.partner_obj = self.env['res.partner']
  9. self.partner_01 = self.env.ref('base.res_partner_2')
  10. self.partner_02 = self.env.ref('base.res_partner_13')
  11. self.partner_03 = self.env.ref('base.res_partner_5')
  12. def test_send_email_optional_follower_notifications(self):
  13. ctx = self.env.context.copy()
  14. ctx.update({
  15. 'default_model': 'res.partner',
  16. 'default_res_id': self.partner_01.id,
  17. 'default_composition_mode': 'comment',
  18. })
  19. mail_compose = self.env['mail.compose.message']
  20. values = mail_compose.with_context(ctx)\
  21. .onchange_template_id(False, 'comment', 'res.partner',
  22. self.partner_01.id)['value']
  23. values['partner_ids'] = [(4, self.partner_02.id),
  24. (4, self.partner_03.id)]
  25. compose_id = mail_compose.with_context(ctx).create(values)
  26. compose_id.with_context(ctx).send_mail()
  27. res = self.env["mail.message"].search(
  28. [('model', '=', 'res.partner'),
  29. ('res_id', '=', self.partner_01.id)])
  30. self.assertEqual(len(res.ids), 1)
  31. message = self.env['mail.message']
  32. for record in res:
  33. if record.notified_partner_ids.ids == [self.partner_03.id] and\
  34. record.partner_ids.ids == [self.partner_03.id]:
  35. message += record
  36. self.assertEqual(len(message.ids), 0)
  37. values['partner_ids'] = [(6, 0, [self.partner_03.id])]
  38. compose_id = mail_compose.with_context(ctx).create(values)
  39. compose_id.notify_followers = False
  40. compose_id.with_context(ctx).send_mail()
  41. res = self.env["mail.message"].search(
  42. [('model', '=', 'res.partner'),
  43. ('res_id', '=', self.partner_01.id)])
  44. message = self.env['mail.message']
  45. for record in res:
  46. if record.notified_partner_ids.ids == [self.partner_03.id] and\
  47. record.partner_ids.ids == [self.partner_03.id]:
  48. message += record
  49. self.assertEqual(len(message.ids), 1)