diff --git a/.oca/oca-port/blacklist/extendable.json b/.oca/oca-port/blacklist/extendable.json new file mode 100644 index 000000000..0e30d7e12 --- /dev/null +++ b/.oca/oca-port/blacklist/extendable.json @@ -0,0 +1,7 @@ +{ + "pull_requests": { + "orphaned_commits": "(auto) Nothing to port from PR #", + "OCA/rest-framework#313": "Already ported", + "OCA/rest-framework#348": "(auto) Nothing to port from PR #348" + } +} diff --git a/extendable/tests/common.py b/extendable/tests/common.py index b3329446c..004db33a3 100644 --- a/extendable/tests/common.py +++ b/extendable/tests/common.py @@ -8,7 +8,7 @@ from odoo.modules.registry import Registry from odoo.tests import common -from extendable import context +from extendable import context, main def _get_addon_name(full_name: str) -> str: @@ -54,6 +54,24 @@ def init_extendable_registry(cls): extendable_registry.init_registry([f"odoo.addons.{current_addon}.*"]) cls.token = context.extendable_registry.set(cls._extendable_registry) + @classmethod + def backup_extendable_registry(cls): + # Store the current extendable classes + cls._initial_extendable_class_defs_by_module = ( + main._extendable_class_defs_by_module + ) + # Use a copy of the current extendable classes + main._extendable_class_defs_by_module = dict( + cls._initial_extendable_class_defs_by_module + ) + + @classmethod + def restore_extendable_registry(cls): + # Restore the initial extendable classes + main._extendable_class_defs_by_module = ( + cls._initial_extendable_class_defs_by_module + ) + @classmethod def reset_extendable_registry(cls): context.extendable_registry.reset(cls.token)