oca-technical/odoo-bringout-oca-crm-crm_industry/crm_industry/tests/test_crm_lead.py
2025-08-29 15:43:03 +02:00

68 lines
2.7 KiB
Python

# Copyright 2015 Antiun Ingenieria S.L. - Javier Iniesta
# Copyright 2018 ForgeFlow, S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo.exceptions import UserError
from odoo.tests import Form
from odoo.tests.common import TransactionCase
class TestCrmLead(TransactionCase):
def test_check_industries(self):
industry = self.env["res.partner.industry"].create({"name": "Test"})
with self.assertRaises(UserError):
self.env["crm.lead"].create(
{
"name": "Test",
"industry_id": industry.id,
"secondary_industry_ids": [(4, industry.id)],
}
)
def test_lead_create_contact(self):
industry_pool = self.env["res.partner.industry"]
industry_1 = industry_pool.create({"name": "Test 01"})
industry_2 = industry_pool.create(
{"name": "Test 02", "parent_id": industry_1.id}
)
industry_3 = industry_pool.create(
{"name": "Test 03", "parent_id": industry_1.id}
)
lead_vals = {
"name": "test",
"partner_name": "test",
"industry_id": industry_1.id,
"secondary_industry_ids": [(4, industry_2.id, 0), (4, industry_3.id, 0)],
}
lead = self.env["crm.lead"].create(lead_vals)
partner = self.env["res.partner"].create(
lead._prepare_customer_values(lead.partner_name, is_company=True)
)
self.assertEqual(partner.industry_id, lead.industry_id)
self.assertEqual(partner.secondary_industry_ids, lead.secondary_industry_ids)
def test_propagate_industries_from_contact(self):
res_partner_industry = self.env["res.partner.industry"]
industry_1 = res_partner_industry.create({"name": "IT/Communications"})
industry_2 = res_partner_industry.create(
{"name": "AI/Machine Learning", "parent_id": industry_1.id}
)
industry_3 = res_partner_industry.create(
{"name": "ERP Systems", "parent_id": industry_1.id}
)
customer = self.env["res.partner"].create(
{
"name": "Test Customer",
"industry_id": industry_1.id,
"secondary_industry_ids": [
(4, industry_2.id, 0),
(4, industry_3.id, 0),
],
}
)
lead_form = Form(self.env["crm.lead"])
lead_form.name = "Test Lead"
lead_form.partner_id = customer
lead = lead_form.save()
self.assertEqual(lead.industry_id, customer.industry_id)
self.assertEqual(lead.secondary_industry_ids, customer.secondary_industry_ids)