def test_strict_user_permissions(self): """If `Strict User Permissions` is checked in System Settings, show records even if User Permissions are missing for a linked doctype""" frappe.set_user("Administrator") frappe.db.sql('delete from tabContact') make_test_records_for_doctype('Contact', force=True) set_user_permission_doctypes("Contact", role="Sales User", apply_user_permissions=1, user_permission_doctypes=['Salutation']) set_user_permission_doctypes("Salutation", role="All", apply_user_permissions=1, user_permission_doctypes=['Salutation']) add_user_permission("Salutation", "Mr", "*****@*****.**") self.set_strict_user_permissions(0) frappe.set_user("*****@*****.**") self.assertEquals(len(frappe.get_list("Contact")), 2) frappe.set_user("Administrator") self.set_strict_user_permissions(1) frappe.set_user("*****@*****.**") self.assertTrue(len(frappe.get_list("Contact")), 1) frappe.set_user("Administrator") self.set_strict_user_permissions(0)
def test_reset_to_defaults(self): d = frappe.get_doc("Customize Form") d.doc_type = "Event" d.run_method('reset_to_defaults') self.assertEquals(d.get("fields", {"fieldname": "repeat_this_event"})[0].in_list_view, 0) frappe.local.test_objects["Property Setter"] = [] make_test_records_for_doctype("Property Setter")
def test_reset_to_defaults(self): d = frappe.get_doc("Customize Form") d.doc_type = "User" d.run_method('reset_to_defaults') self.assertEquals(d.get("customize_form_fields", {"fieldname": "location"})[0].in_list_view, None) frappe.local.test_objects["Property Setter"] = [] make_test_records_for_doctype("Property Setter")
def test_reset_to_defaults(self): d = frappe.get_doc("Customize Form") d.doc_type = "User" d.run_method('reset_to_defaults') self.assertEquals(d.get("fields", {"fieldname": "location"})[0].in_list_view, 0) frappe.local.test_objects["Property Setter"] = [] make_test_records_for_doctype("Property Setter")
def test_save_customization_remove_field(self): d = self.get_customize_form("Event") custom_field = d.get("fields", {"fieldname": "test_custom_field"})[0] d.get("fields").remove(custom_field) d.run_method("save_customization") self.assertEqual(frappe.db.get_value("Custom Field", custom_field.name), None) frappe.local.test_objects["Custom Field"] = [] make_test_records_for_doctype("Custom Field")
def test_save_customization_remove_field(self): d = self.get_customize_form("User") custom_field = d.get("fields", {"fieldname": "test_custom_field"})[0] d.get("fields").remove(custom_field) d.run_method("save_customization") self.assertEquals(frappe.db.get_value("Custom Field", custom_field.name), None) frappe.local.test_objects["Custom Field"] = [] make_test_records_for_doctype("Custom Field")
def test_strict_user_permissions(self): """If `Strict User Permissions` is checked in System Settings, show records even if User Permissions are missing for a linked doctype""" frappe.set_user('Administrator') frappe.db.sql('DELETE FROM `tabContact`') frappe.db.sql('DELETE FROM `tabContact Email`') frappe.db.sql('DELETE FROM `tabContact Phone`') reset('Salutation') reset('Contact') make_test_records_for_doctype('Contact', force=True) add_user_permission("Salutation", "Mr", "*****@*****.**") self.set_strict_user_permissions(0) allowed_contact = frappe.get_doc('Contact', '_Test Contact For _Test Customer') other_contact = frappe.get_doc('Contact', '_Test Contact For _Test Supplier') frappe.set_user("*****@*****.**") self.assertTrue(allowed_contact.has_permission('read')) self.assertTrue(other_contact.has_permission('read')) self.assertEqual(len(frappe.get_list("Contact")), 2) frappe.set_user("Administrator") self.set_strict_user_permissions(1) frappe.set_user("*****@*****.**") self.assertTrue(allowed_contact.has_permission('read')) self.assertFalse(other_contact.has_permission('read')) self.assertTrue(len(frappe.get_list("Contact")), 1) frappe.set_user("Administrator") self.set_strict_user_permissions(0) clear_user_permissions_for_doctype("Salutation") clear_user_permissions_for_doctype("Contact")
def test_strict_user_permissions(self): """If `Strict User Permissions` is checked in System Settings, show records even if User Permissions are missing for a linked doctype""" frappe.set_user('Administrator') frappe.db.sql('delete from tabContact') reset('Salutation') reset('Contact') make_test_records_for_doctype('Contact', force=True) add_user_permission("Salutation", "Mr", "*****@*****.**") self.set_strict_user_permissions(0) allowed_contact = frappe.get_doc('Contact', '_Test Contact for _Test Customer') other_contact = frappe.get_doc('Contact', '_Test Contact for _Test Supplier') frappe.set_user("*****@*****.**") self.assertTrue(allowed_contact.has_permission('read')) self.assertTrue(other_contact.has_permission('read')) self.assertEqual(len(frappe.get_list("Contact")), 2) frappe.set_user("Administrator") self.set_strict_user_permissions(1) frappe.set_user("*****@*****.**") self.assertTrue(allowed_contact.has_permission('read')) self.assertFalse(other_contact.has_permission('read')) self.assertTrue(len(frappe.get_list("Contact")), 1) frappe.set_user("Administrator") self.set_strict_user_permissions(0) clear_user_permissions_for_doctype("Salutation") clear_user_permissions_for_doctype("Contact")
def setUp(self): frappe.db.sql("delete from `tabItem Price`") make_test_records_for_doctype("Item Price", force=True)