86 lines
2.8 KiB
Python
86 lines
2.8 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.addons.test_mass_mailing.tests import common
|
|
from odoo.tests import tagged, users
|
|
|
|
|
|
@tagged("utm")
|
|
class TestUTM(common.TestMassMailCommon):
|
|
|
|
@users("employee")
|
|
def test_utm_source_mixin_name(self):
|
|
""" Test name management with source mixin, as name should be unique
|
|
and automatically incremented """
|
|
sources = self.env["utm.test.source.mixin"].create([
|
|
{
|
|
'name': 'Test',
|
|
'title': 'Test',
|
|
}
|
|
for idx in range(5)]
|
|
)
|
|
self.assertListEqual(
|
|
sources.mapped('name'),
|
|
["Test", "Test [2]", "Test [3]", "Test [4]", "Test [5]"]
|
|
)
|
|
|
|
@users("employee")
|
|
def test_utm_source_mixin_name_brackets(self):
|
|
""" Test with brackets """
|
|
false_dupes = self.env["utm.test.source.mixin"].create([
|
|
{
|
|
'name': 'NewTest [2]',
|
|
'title': 'NewTest',
|
|
}
|
|
for idx in range(3)] + [
|
|
{
|
|
'name': 'NewTest [3]',
|
|
'title': 'NewTest',
|
|
}, {
|
|
'name': 'NewTest',
|
|
'title': 'NewTest',
|
|
}]
|
|
)
|
|
self.assertListEqual(
|
|
false_dupes.mapped('name'),
|
|
["NewTest [2]", "NewTest", "NewTest [3]", "NewTest [4]", "NewTest [5]"]
|
|
)
|
|
|
|
new_source = self.env["utm.test.source.mixin"].create({
|
|
"name": "OtherTest [2]",
|
|
})
|
|
self.assertEqual(new_source.name, "OtherTest [2]")
|
|
|
|
@users("employee")
|
|
def test_utm_source_mixin_name_cross_model(self):
|
|
""" Uniqueness of source should be ensured cross models. For this purpose
|
|
we use two models using the utm.source.mixin, allowing to check conflict
|
|
management between models. """
|
|
source_1 = self.env["utm.test.source.mixin"].create({
|
|
"name": "Test",
|
|
"title": "Test",
|
|
})
|
|
self.assertEqual(source_1.name, "Test")
|
|
self.assertEqual(source_1.title, "Test")
|
|
|
|
source_other_1 = self.env["utm.test.source.mixin.other"].create({
|
|
"name": "Test",
|
|
"title": "Test",
|
|
})
|
|
self.assertEqual(source_other_1.name, "Test [2]")
|
|
self.assertEqual(source_other_1.title, "Test")
|
|
|
|
source_other_2 = self.env["utm.test.source.mixin.other"].create({
|
|
"name": "New",
|
|
"title": "New",
|
|
})
|
|
self.assertEqual(source_other_2.name, "New")
|
|
self.assertEqual(source_other_2.title, "New")
|
|
|
|
source_other_2.write({"name": "Test"})
|
|
self.assertEqual(source_other_2.name, "Test [3]")
|
|
self.assertEqual(source_other_2.title, "New")
|
|
|
|
source_2 = source_1.copy()
|
|
self.assertEqual(source_2.name, "Test [4]")
|
|
self.assertEqual(source_2.title, "Test")
|