mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-23 09:12:01 +02:00
68 lines
2.7 KiB
Python
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)
|