- fixed computation of needaction flag (typo) - fixed order of auto subscription and message tracking: first subscribe then track. This way messages are send to newly added followers. - added tests in CRM to ensure this behavior works by updating the already existing test and using the mail test class
38 lines
1.7 KiB
Python
38 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from .common import TestCrm
|
|
|
|
|
|
class NewLeadNotification(TestCrm):
|
|
|
|
def test_new_lead_notification(self):
|
|
""" Test newly create leads like from the website. People and channels
|
|
subscribed to the sales team shoud be notified. """
|
|
# subscribe a partner and a channel to the sales team with new lead subtype
|
|
subtype = self.env.ref("crm.mt_salesteam_lead")
|
|
self.sales_team_1.message_subscribe(partner_ids=[self.user_salesman_all.partner_id.id], subtype_ids=[subtype.id])
|
|
self.sales_team_1.message_subscribe(channel_ids=[self.group_pigs.id], subtype_ids=[subtype.id])
|
|
|
|
# Imitate what happens in the controller when somebody creates a new
|
|
# lead from the website form
|
|
lead = self.env["crm.lead"].with_context(mail_create_nosubscribe=True).sudo().create({
|
|
"contact_name": "Somebody",
|
|
"description": "Some question",
|
|
"email_from": "somemail@example.com",
|
|
"name": "Some subject",
|
|
"partner_name": "Some company",
|
|
"team_id": self.sales_team_1.id,
|
|
"phone": "+0000000000"
|
|
})
|
|
# partner and channel should be auto subscribed
|
|
self.assertIn(self.user_salesman_all.partner_id, lead.message_partner_ids)
|
|
self.assertIn(self.group_pigs, lead.message_channel_ids)
|
|
|
|
msg = lead.message_ids[0]
|
|
self.assertIn(self.user_salesman_all.partner_id, msg.needaction_partner_ids)
|
|
self.assertIn(self.group_pigs, msg.channel_ids)
|
|
|
|
# The user should have a new unread message
|
|
lead_user = lead.sudo(self.user_salesman_all)
|
|
self.assertTrue(lead_user.message_needaction)
|