-
Christophe de Vienne authoredChristophe de Vienne authored
test_export.py 3.21 KiB
import odoo
from ..export import export
from .util.odoo_tests import TestBase
@odoo.tests.common.at_install(False)
@odoo.tests.common.post_install(True)
class Test(TestBase):
def test_export_char_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual(
{"name": "my name", "company": None},
export(
record, {"name": {}, "company": {"source": "company_name"}}
),
)
def test_export_integer_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual({"color": 0}, export(record, {"color": {}}))
record.color = 10
self.assertEqual({"color": 10}, export(record, {"color": {}}))
def test_export_boolean_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual({"active": True}, export(record, {"active": {}}))
record.active = False
self.assertEqual({"active": False}, export(record, {"active": {}}))
def test_export_text_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual({"comment": None}, export(record, {"comment": {}}))
record.comment = "A comment"
self.assertEqual(
{"comment": "A comment"}, export(record, {"comment": {}})
)
def test_export_float_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual(
{"credit_limit": 0.0}, export(record, {"credit_limit": {}})
)
record.credit_limit = 4.5
self.assertEqual(
{"credit_limit": 4.5}, export(record, {"credit_limit": {}})
)
def test_export_selection_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual(
{"company_type": "person"}, export(record, {"company_type": {}})
)
def test_export_many2one_field(self):
record = self.env["res.partner"].create({"name": "my name"})
self.assertEqual(
{"parent": None},
export(
record,
{"parent": {"source": "parent_id", "mapping": {"name": {}}}},
),
)
parent = self.env["res.partner"].create({"name": "my parent"})
record.parent_id = parent.id
self.assertEqual(
{"parent": {"name": "my parent"}},
export(
record,
{"parent": {"source": "parent_id", "mapping": {"name": {}}}},
),
)
def test_export_one2many_field(self):
m = {"children": {"source": "child_ids", "mapping": {"name": {}}}}
parent = self.env["res.partner"].create({"name": "my parent"})
self.assertEqual({"children": []}, export(parent, m))
self.env["res.partner"].create(
{"name": "Child1", "parent_id": parent.id}
)
self.assertEqual({"children": [{"name": "Child1"}]}, export(parent, m))
self.env["res.partner"].create(
{"name": "Child2", "parent_id": parent.id}
)
self.assertEqual(
{"children": [{"name": "Child1"}, {"name": "Child2"}]},
export(parent, m),
)