From ecb0cd41398d169a8eb849420f992cf086fc6872 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 30 Dec 2021 10:37:12 +0530 Subject: [PATCH] test: Add test for disallowing setting tandard fields Via https://github.com/frappe/frappe/pull/14918/commits/db008020f69408a1ce278a311645fb861b5a78d7 --- frappe/tests/test_permissions.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/frappe/tests/test_permissions.py b/frappe/tests/test_permissions.py index d83f2969ba..fdff4d103e 100644 --- a/frappe/tests/test_permissions.py +++ b/frappe/tests/test_permissions.py @@ -198,6 +198,21 @@ class TestPermissions(unittest.TestCase): doc = frappe.get_doc("Blog Post", "-test-blog-post") self.assertTrue(doc.has_permission("read")) + def test_set_standard_fields_manually(self): + # check that creation and owner cannot be set manually + from datetime import timedelta + + fake_creation = now_datetime() + timedelta(days=-7) + fake_owner = frappe.db.get_value("User", {"name": ("!=", frappe.session.user)}) + + d = frappe.new_doc("ToDo") + d.description = "ToDo created via test_set_standard_fields_manually" + d.creation = fake_creation + d.owner = fake_owner + d.save() + self.assertNotEqual(d.creation, fake_creation) + self.assertNotEqual(d.owner, fake_owner) + def test_dont_change_standard_constants(self): # check that Document.creation cannot be changed user = frappe.get_doc("User", frappe.session.user)