From 89b0181a8a338d246ab6420231804363bd4130a5 Mon Sep 17 00:00:00 2001 From: ChillarAnand Date: Fri, 25 Feb 2022 18:24:00 +0530 Subject: [PATCH] test: Fix flaky permission test --- frappe/tests/test_permissions.py | 8 +++++--- frappe/tests/test_utils.py | 11 +++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/frappe/tests/test_permissions.py b/frappe/tests/test_permissions.py index fdff4d103e..f120843c76 100644 --- a/frappe/tests/test_permissions.py +++ b/frappe/tests/test_permissions.py @@ -14,9 +14,12 @@ from frappe.core.doctype.user_permission.user_permission import clear_user_permi from frappe.desk.form.load import getdoc from frappe.utils.data import now_datetime +from frappe.tests.test_utils import FrappeTestCase + test_dependencies = ['Blogger', 'Blog Post', "User", "Contact", "Salutation"] -class TestPermissions(unittest.TestCase): + +class TestPermissions(FrappeTestCase): def setUp(self): frappe.clear_cache(doctype="Blog Post") @@ -221,7 +224,7 @@ class TestPermissions(unittest.TestCase): # check that Document.owner cannot be changed user.reload() - user.owner = frappe.db.get_value("User", {"name": ("!=", user.name)}) + user.owner = "Guest" self.assertRaises(frappe.CannotChangeConstantError, user.save) def test_set_only_once(self): @@ -557,7 +560,6 @@ class TestPermissions(unittest.TestCase): # Remove delete perm update('Blog Post', 'Website Manager', 0, 'delete', 0) - frappe.clear_cache(doctype="Blog Post") frappe.set_user("test2@example.com") diff --git a/frappe/tests/test_utils.py b/frappe/tests/test_utils.py index 15029e961a..cf89829fc3 100644 --- a/frappe/tests/test_utils.py +++ b/frappe/tests/test_utils.py @@ -512,3 +512,14 @@ class TestLinkTitle(unittest.TestCase): prop_setter.delete() +class FrappeTestCase(unittest.TestCase): + """Base test class for Frappe tests.""" + @classmethod + def setUpClass(cls) -> None: + frappe.db.commit() + return super().setUpClass() + + @classmethod + def tearDownClass(cls) -> None: + frappe.db.rollback() + return super().tearDownClass()