From bc305dab100ab42611182ee467ac7f6b6bcf2383 Mon Sep 17 00:00:00 2001 From: Sagar Vora Date: Wed, 6 Jan 2021 16:52:52 +0530 Subject: [PATCH] test: fix test_override_doctype_class by resetting cached values --- frappe/tests/test_hooks.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/frappe/tests/test_hooks.py b/frappe/tests/test_hooks.py index f19904c8fc..fada861b79 100644 --- a/frappe/tests/test_hooks.py +++ b/frappe/tests/test_hooks.py @@ -17,21 +17,21 @@ class TestHooks(unittest.TestCase): hooks.get("doc_events").get("*").get("on_update")) def test_override_doctype_class(self): - # mock get_hooks - original = frappe.get_hooks - def get_hooks(hook=None, default=None, app_name=None): - if hook == 'override_doctype_class': - return { - 'ToDo': ['frappe.tests.test_hooks.CustomToDo'] - } - return original(hook, default, app_name) - frappe.get_hooks = get_hooks + from frappe import hooks + from frappe.model import base_document + + # Set hook + hooks.override_doctype_class = { + 'ToDo': ['frappe.tests.test_hooks.CustomToDo'] + } + + # Clear cache + frappe.cache().delete_value('app_hooks') + base_document._classes = {} todo = frappe.get_doc(doctype='ToDo', description='asdf') self.assertTrue(isinstance(todo, CustomToDo)) - # restore - frappe.get_hooks = original class CustomToDo(ToDo): pass