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), )