summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2020-03-16 14:30:44 +0000
committerThibault Delavallée <tde@odoo.com>2020-03-23 11:42:11 +0000
commit8b94dc17bfedf08ec497adf91e67bd8948d3bd79 (patch)
tree47a8312cb532498b47162ba127f32ac677bb508d
parenta5df7552842564b649ce2930ec302018ed18f534 (diff)
[IMP] crm: ensure initial data for convert tests
PURPOSE As CRM is going to be updated (onchange -> compute, code improvements, better management of sales teams) ensuring data integrity in tests is necessary to avoid having hidden issues or tests difficult to debug. LINKS Task ID 2088565 (crm: from onchange to compute)
-rw-r--r--addons/crm/tests/test_crm_lead_convert.py52
-rw-r--r--addons/crm/tests/test_crm_lead_merge.py32
2 files changed, 65 insertions, 19 deletions
diff --git a/addons/crm/tests/test_crm_lead_convert.py b/addons/crm/tests/test_crm_lead_convert.py
index 7e589598c41..e05bc8fb548 100644
--- a/addons/crm/tests/test_crm_lead_convert.py
+++ b/addons/crm/tests/test_crm_lead_convert.py
@@ -15,6 +15,14 @@ class TestLeadConvert(crm_common.TestLeadConvertCommon):
date = Datetime.from_string('2020-01-20 16:00:00')
cls.crm_lead_dt_mock.now.return_value = date
+ def test_initial_data(self):
+ """ Ensure initial data to avoid spaghetti test update afterwards """
+ self.assertFalse(self.lead_1.date_conversion)
+ self.assertEqual(self.lead_1.date_open, Datetime.from_string('2020-01-15 11:30:00'))
+ self.assertEqual(self.lead_1.user_id, self.user_sales_leads)
+ self.assertEqual(self.lead_1.team_id, self.sales_team_1)
+ self.assertEqual(self.lead_1.stage_id, self.stage_team1_1)
+
@users('user_sales_manager')
def test_lead_convert_base(self):
""" Test base method ``convert_opportunity`` or crm.lead model """
@@ -133,13 +141,6 @@ class TestLeadConvert(crm_common.TestLeadConvertCommon):
@users('user_sales_manager')
def test_lead_convert_internals(self):
""" Test internals of convert wizard """
- # ensure initial data to avoid spaghetti test update afterwards
- self.assertFalse(self.lead_1.date_conversion)
- self.assertEqual(self.lead_1.date_open, Datetime.from_string('2020-01-15 11:30:00'))
- self.assertEqual(self.lead_1.user_id, self.user_sales_leads)
- self.assertEqual(self.lead_1.team_id, self.sales_team_1)
- self.assertEqual(self.lead_1.stage_id, self.stage_team1_1)
-
convert = self.env['crm.lead2opportunity.partner'].with_context({
'active_model': 'crm.lead',
'active_id': self.lead_1.id,
@@ -308,6 +309,34 @@ class TestLeadConvert(crm_common.TestLeadConvertCommon):
@tagged('lead_manage')
class TestLeadConvertBatch(crm_common.TestLeadConvertMassCommon):
+ def test_initial_data(self):
+ """ Ensure initial data to avoid spaghetti test update afterwards """
+ self.assertFalse(self.lead_1.date_conversion)
+ self.assertEqual(self.lead_1.date_open, Datetime.from_string('2020-01-15 11:30:00'))
+ self.assertEqual(self.lead_1.user_id, self.user_sales_leads)
+ self.assertEqual(self.lead_1.team_id, self.sales_team_1)
+ self.assertEqual(self.lead_1.stage_id, self.stage_team1_1)
+
+ self.assertEqual(self.lead_w_partner.stage_id, self.env['crm.stage'])
+ self.assertEqual(self.lead_w_partner.user_id, self.user_sales_manager)
+ self.assertEqual(self.lead_w_partner.team_id, self.sales_team_1)
+
+ self.assertEqual(self.lead_w_partner_company.stage_id, self.stage_team1_1)
+ self.assertEqual(self.lead_w_partner_company.user_id, self.user_sales_manager)
+ self.assertEqual(self.lead_w_partner_company.team_id, self.sales_team_1)
+
+ self.assertEqual(self.lead_w_contact.stage_id, self.stage_gen_1)
+ self.assertEqual(self.lead_w_contact.user_id, self.user_sales_salesman)
+ self.assertEqual(self.lead_w_contact.team_id, self.sales_team_convert)
+
+ self.assertEqual(self.lead_w_email.stage_id, self.stage_gen_1)
+ self.assertEqual(self.lead_w_email.user_id, self.user_sales_salesman)
+ self.assertEqual(self.lead_w_email.team_id, self.sales_team_convert)
+
+ self.assertEqual(self.lead_w_email_lost.stage_id, self.stage_team1_2)
+ self.assertEqual(self.lead_w_email_lost.user_id, self.user_sales_leads)
+ self.assertEqual(self.lead_w_email_lost.team_id, self.sales_team_1)
+
@users('user_sales_manager')
def test_lead_convert_batch_internals(self):
""" Test internals of convert wizard, working in batch mode """
@@ -315,17 +344,8 @@ class TestLeadConvertBatch(crm_common.TestLeadConvertMassCommon):
self.crm_lead_dt_mock.now.return_value = date
lead_w_partner = self.lead_w_partner
- self.assertEqual(lead_w_partner.user_id, self.user_sales_manager)
- self.assertEqual(lead_w_partner.team_id, self.sales_team_1)
- self.assertEqual(lead_w_partner.stage_id, self.env['crm.stage'])
lead_w_contact = self.lead_w_contact
- self.assertEqual(lead_w_contact.user_id, self.user_sales_salesman)
- self.assertEqual(lead_w_contact.team_id, self.sales_team_convert)
- self.assertEqual(lead_w_contact.stage_id, self.stage_gen_1)
lead_w_email_lost = self.lead_w_email_lost
- self.assertEqual(lead_w_email_lost.user_id, self.user_sales_leads)
- self.assertEqual(lead_w_email_lost.team_id, self.sales_team_1)
- self.assertEqual(lead_w_email_lost.stage_id, self.stage_team1_2)
lead_w_email_lost.action_set_lost()
self.assertEqual(lead_w_email_lost.active, False)
diff --git a/addons/crm/tests/test_crm_lead_merge.py b/addons/crm/tests/test_crm_lead_merge.py
index 22d103f4f1f..d959b9a43b3 100644
--- a/addons/crm/tests/test_crm_lead_merge.py
+++ b/addons/crm/tests/test_crm_lead_merge.py
@@ -2,6 +2,7 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.addons.crm.tests.common import TestLeadConvertMassCommon
+from odoo.fields import Datetime
from odoo.tests.common import tagged, users
@@ -27,6 +28,34 @@ class TestLeadMerge(TestLeadConvertMassCommon):
cls.assign_users = cls.user_sales_manager + cls.user_sales_leads_convert + cls.user_sales_salesman
+ def test_initial_data(self):
+ """ Ensure initial data to avoid spaghetti test update afterwards """
+ self.assertFalse(self.lead_1.date_conversion)
+ self.assertEqual(self.lead_1.date_open, Datetime.from_string('2020-01-15 11:30:00'))
+ self.assertEqual(self.lead_1.user_id, self.user_sales_leads)
+ self.assertEqual(self.lead_1.team_id, self.sales_team_1)
+ self.assertEqual(self.lead_1.stage_id, self.stage_team1_1)
+
+ self.assertEqual(self.lead_w_partner.stage_id, self.env['crm.stage'])
+ self.assertEqual(self.lead_w_partner.user_id, self.env['res.users'])
+ self.assertEqual(self.lead_w_partner.team_id, self.sales_team_1)
+
+ self.assertEqual(self.lead_w_partner_company.stage_id, self.stage_team1_1)
+ self.assertEqual(self.lead_w_partner_company.user_id, self.user_sales_manager)
+ self.assertEqual(self.lead_w_partner_company.team_id, self.sales_team_1)
+
+ self.assertEqual(self.lead_w_contact.stage_id, self.stage_gen_1)
+ self.assertEqual(self.lead_w_contact.user_id, self.user_sales_salesman)
+ self.assertEqual(self.lead_w_contact.team_id, self.sales_team_convert)
+
+ self.assertEqual(self.lead_w_email.stage_id, self.stage_gen_1)
+ self.assertEqual(self.lead_w_email.user_id, self.user_sales_salesman)
+ self.assertEqual(self.lead_w_email.team_id, self.sales_team_convert)
+
+ self.assertEqual(self.lead_w_email_lost.stage_id, self.stage_team1_2)
+ self.assertEqual(self.lead_w_email_lost.user_id, self.env['res.users'])
+ self.assertEqual(self.lead_w_email_lost.team_id, self.sales_team_1)
+
@users('user_sales_manager')
def test_lead_merge_internals(self):
""" Test internals of merge wizard. In this test leads are ordered as
@@ -37,9 +66,6 @@ class TestLeadMerge(TestLeadConvertMassCommon):
lead_w_partner --lead---seq=False
"""
# ensure initial data
- self.assertEqual(self.lead_1.user_id, self.user_sales_leads)
- self.assertEqual(self.lead_1.team_id, self.sales_team_1)
- self.assertEqual(self.lead_1.stage_id, self.stage_team1_1)
self.lead_w_partner_company.action_set_won() # won opps should be excluded
merge = self.env['crm.merge.opportunity'].with_context({