Merge pull request #16138 from ChillarAnand/perm

test: Fix flaky permission test
This commit is contained in:
mergify[bot] 2022-02-28 10:24:14 +00:00 committed by GitHub
commit f41ed2d50b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 3 deletions

View file

@ -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")

View file

@ -510,3 +510,16 @@ class TestLinkTitle(unittest.TestCase):
todo.delete()
user.delete()
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()