mirror of https://github.com/OCA/social.git
commit
f113990396
|
@ -143,7 +143,7 @@ class TestMailTracking(TransactionCase):
|
||||||
self.assertEqual(tracking_email.error_type, 'no_recipient')
|
self.assertEqual(tracking_email.error_type, 'no_recipient')
|
||||||
self.assertFalse(self.recipient.email_bounced)
|
self.assertFalse(self.recipient.email_bounced)
|
||||||
|
|
||||||
def _check_partner_trackings(self, message):
|
def _check_partner_trackings_cc(self, message):
|
||||||
message_dict = message.message_format()[0]
|
message_dict = message.message_format()[0]
|
||||||
self.assertEqual(len(message_dict['partner_trackings']), 3)
|
self.assertEqual(len(message_dict['partner_trackings']), 3)
|
||||||
# mail cc
|
# mail cc
|
||||||
|
@ -171,14 +171,14 @@ class TestMailTracking(TransactionCase):
|
||||||
# pylint: disable=C8107
|
# pylint: disable=C8107
|
||||||
message = self.recipient.sudo(user=sender_user).message_post(
|
message = self.recipient.sudo(user=sender_user).message_post(
|
||||||
body='<p>This is a test message</p>',
|
body='<p>This is a test message</p>',
|
||||||
cc='unnamed@test.com, sender@example.com'
|
cc='Dominique Pinon <unnamed@test.com>, sender@example.com'
|
||||||
)
|
)
|
||||||
# suggested recipients
|
# suggested recipients
|
||||||
recipients = self.recipient.message_get_suggested_recipients()
|
recipients = self.recipient.message_get_suggested_recipients()
|
||||||
suggested_mails = {
|
suggested_mails = {
|
||||||
email[1] for email in recipients[self.recipient.id]
|
email[1] for email in recipients[self.recipient.id]
|
||||||
}
|
}
|
||||||
self.assertTrue('unnamed@test.com' in suggested_mails)
|
self.assertIn('unnamed@test.com', suggested_mails)
|
||||||
self.assertEqual(len(recipients[self.recipient.id][0]), 3)
|
self.assertEqual(len(recipients[self.recipient.id][0]), 3)
|
||||||
# Repeated Cc recipients
|
# Repeated Cc recipients
|
||||||
message = self.env['mail.message'].create({
|
message = self.env['mail.message'].create({
|
||||||
|
@ -189,14 +189,78 @@ class TestMailTracking(TransactionCase):
|
||||||
'model': 'res.partner',
|
'model': 'res.partner',
|
||||||
'res_id': self.recipient.id,
|
'res_id': self.recipient.id,
|
||||||
'partner_ids': [(4, self.recipient.id)],
|
'partner_ids': [(4, self.recipient.id)],
|
||||||
'email_cc': 'unnamed@test.com, sender@example.com'
|
'email_cc': 'Dominique Pinon <unnamed@test.com>, sender@example.com'
|
||||||
', recipient@example.com',
|
', recipient@example.com',
|
||||||
'body': '<p>This is another test message</p>',
|
'body': '<p>This is another test message</p>',
|
||||||
})
|
})
|
||||||
message._notify(message, {}, force_send=True)
|
message._notify(message, {}, force_send=True)
|
||||||
recipients = self.recipient.message_get_suggested_recipients()
|
recipients = self.recipient.message_get_suggested_recipients()
|
||||||
self.assertEqual(len(recipients[self.recipient.id][0]), 3)
|
self.assertEqual(len(recipients[self.recipient.id][0]), 3)
|
||||||
self._check_partner_trackings(message)
|
self._check_partner_trackings_cc(message)
|
||||||
|
|
||||||
|
def _check_partner_trackings_to(self, message):
|
||||||
|
message_dict = message.message_format()[0]
|
||||||
|
self.assertEqual(len(message_dict['partner_trackings']), 3)
|
||||||
|
# mail cc
|
||||||
|
foundPartner = False
|
||||||
|
foundNoPartner = False
|
||||||
|
for tracking in message_dict['partner_trackings']:
|
||||||
|
if tracking['partner_id'] == self.sender.id:
|
||||||
|
foundPartner = True
|
||||||
|
elif tracking['recipient'] == 'support+unnamed@test.com':
|
||||||
|
foundNoPartner = True
|
||||||
|
self.assertFalse(tracking['partner_id'])
|
||||||
|
self.assertTrue(foundPartner)
|
||||||
|
self.assertTrue(foundNoPartner)
|
||||||
|
|
||||||
|
def test_email_to(self):
|
||||||
|
sender_user = self.env['res.users'].create({
|
||||||
|
'name': 'Sender User Test',
|
||||||
|
'partner_id': self.sender.id,
|
||||||
|
'login': 'sender-test',
|
||||||
|
})
|
||||||
|
# pylint: disable=C8107
|
||||||
|
message = self.recipient.sudo(user=sender_user).message_post(
|
||||||
|
body='<p>This is a test message</p>',
|
||||||
|
to='Dominique Pinon <support+unnamed@test.com>, sender@example.com'
|
||||||
|
)
|
||||||
|
# suggested recipients
|
||||||
|
recipients = self.recipient.message_get_suggested_recipients()
|
||||||
|
suggested_mails = {
|
||||||
|
email[1] for email in recipients[self.recipient.id]
|
||||||
|
}
|
||||||
|
self.assertIn('support+unnamed@test.com', suggested_mails)
|
||||||
|
self.assertEqual(len(recipients[self.recipient.id]), 3)
|
||||||
|
# Repeated To recipients
|
||||||
|
message = self.env['mail.message'].create({
|
||||||
|
'subject': 'Message test',
|
||||||
|
'author_id': self.sender.id,
|
||||||
|
'email_from': self.sender.email,
|
||||||
|
'message_type': 'comment',
|
||||||
|
'model': 'res.partner',
|
||||||
|
'res_id': self.recipient.id,
|
||||||
|
'partner_ids': [(4, self.recipient.id)],
|
||||||
|
'email_to': 'Dominique Pinon <support+unnamed@test.com>'
|
||||||
|
', sender@example.com, recipient@example.com',
|
||||||
|
'body': '<p>This is another test message</p>',
|
||||||
|
})
|
||||||
|
message._notify(message, {}, force_send=True)
|
||||||
|
recipients = self.recipient.message_get_suggested_recipients()
|
||||||
|
self.assertEqual(len(recipients[self.recipient.id][0]), 3)
|
||||||
|
self._check_partner_trackings_to(message)
|
||||||
|
# Catchall + Alias
|
||||||
|
self.env['ir.config_parameter'].set_param(
|
||||||
|
'mail.catchall.domain', 'test.com')
|
||||||
|
self.env['mail.alias'].create({
|
||||||
|
'alias_model_id': self.env['ir.model']._get('res.partner').id,
|
||||||
|
'alias_name': 'support+unnamed',
|
||||||
|
})
|
||||||
|
recipients = self.recipient.message_get_suggested_recipients()
|
||||||
|
self.assertEqual(len(recipients[self.recipient.id]), 2)
|
||||||
|
suggested_mails = {
|
||||||
|
email[1] for email in recipients[self.recipient.id]
|
||||||
|
}
|
||||||
|
self.assertNotIn('unnamed@test.com', suggested_mails)
|
||||||
|
|
||||||
def test_failed_message(self):
|
def test_failed_message(self):
|
||||||
MailMessageObj = self.env['mail.message']
|
MailMessageObj = self.env['mail.message']
|
||||||
|
|
Loading…
Reference in New Issue