From 27c09956395cf84db7ad10f9d388379898eba96a Mon Sep 17 00:00:00 2001 From: Paulo Medeiros Date: Mon, 8 Jul 2024 13:33:42 +0200 Subject: [PATCH] [IMP] util/helpers: tests for import/export empty paths Commits 5b944f7cad5512d90938a28b6db93efb9231a5d8 and 1d9e20e5e8838664ccfb025580a2e0f3ec1d535a did not consider the case of empty paths, what was fixed in a05df6682b5d72c8d059872755e75c80d44d32c2. Due to its urgent nature, no tests were added with the fix's commit. That said, this commit adds tests for the case when `base_import.mapping` or `ir.export.line` present path fields which are empty. --- src/base/tests/test_util.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/base/tests/test_util.py b/src/base/tests/test_util.py index 5d06f183e..745832867 100644 --- a/src/base/tests/test_util.py +++ b/src/base/tests/test_util.py @@ -420,6 +420,7 @@ def setUp(self): (0, 0, {"name": "rate_ids/company_id/user_ids/name"}), (0, 0, {"name": "rate_ids/company_id/user_ids/partner_id/user_ids/name"}), (0, 0, {"name": "rate_ids/name"}), + (0, 0, {}), ], } ] @@ -444,7 +445,7 @@ def test_rename_field(self): def test_remove_field(self): util.remove_field(self.cr, "res.currency.rate", "company_id") self._invalidate() - self.assertEqual(len(self.export.export_fields), 2) + self.assertEqual(len(self.export.export_fields), 3) self.assertEqual(self.export.export_fields[0].name, "full_name") self.assertEqual(self.export.export_fields[1].name, "rate_ids/name") @@ -456,11 +457,11 @@ def test_rename_model(self): def test_remove_model(self): util.remove_model(self.cr, "res.currency.rate") self._invalidate() - self.assertEqual(len(self.export.export_fields), 1) - self.assertEqual(self.export.export_fields[0].name, "full_name") + self.assertEqual(len(self.export.export_fields), 2) + self.assertEqual(self.export.export_fields.mapped("name"), ["full_name", False]) util.remove_model(self.cr, "res.currency") - self.cr.execute("SELECT * FROM ir_exports WHERE id = %s", [self.export.id]) + self.cr.execute("SELECT * FROM ir_exports WHERE id IN %s", [tuple(self.export.ids)]) self.assertFalse(self.cr.fetchall()) @@ -475,6 +476,7 @@ def setUp(self): "rate_ids/company_id/user_ids/name", "rate_ids/company_id/user_ids/partner_id/user_ids/name", "rate_ids/name", + False, ] ] ) @@ -523,10 +525,10 @@ def test_remove_model(self): remaining_mappings = self.import_mapping - removed_mappings self.assertEqual(len(removed_mappings), 3) - self.assertEqual(remaining_mappings[0].field_name, "full_name") + self.assertEqual(remaining_mappings.mapped("field_name"), ["full_name", False]) util.remove_model(self.cr, "res.currency") - self.cr.execute("SELECT * FROM base_import_mapping WHERE id = %s", [remaining_mappings.id]) + self.cr.execute("SELECT * FROM base_import_mapping WHERE id IN %s", [tuple(remaining_mappings.ids)]) self.assertFalse(self.cr.fetchall())