test: Create User Automatically

This commit is contained in:
Rucha Mahabal
2026-03-23 16:09:58 +05:30
parent 2be6bb694f
commit d4ecede3c3

View File

@@ -59,6 +59,58 @@ class TestEmployee(IntegrationTestCase):
self.assertEqual(qb_employee_list, employee_list)
frappe.set_user("Administrator")
def test_create_user_automatically(self):
def get_new_employee(email: str, create_user_permission: int):
return frappe.get_doc(
{
"doctype": "Employee",
"first_name": "Test Auto User 1",
"company": erpnext.get_default_company(),
"date_of_birth": "2000-05-08",
"date_of_joining": "2013-01-01",
"gender": "Female",
"personal_email": email,
"status": "Active",
"create_user_automatically": 1,
"create_user_permission": create_user_permission,
}
).insert()
employee1 = get_new_employee("test_auto_user1@example.com", True)
user = frappe.db.get_value("User", "test_auto_user1@example.com")
self.assertTrue(user)
self.assertEqual(employee1.user_id, user)
# Verify user permissions are created
self.assertTrue(
frappe.db.exists(
"User Permission", {"allow": "Employee", "for_value": employee1.name, "user": user}
)
)
self.assertTrue(
frappe.db.exists(
"User Permission", {"allow": "Company", "for_value": employee1.company, "user": user}
)
)
# Test disabled create_user_permission
employee2 = get_new_employee("test_auto_user2@example.com", False)
user2 = frappe.db.get_value("User", "test_auto_user2@example.com")
self.assertTrue(user2)
self.assertEqual(employee2.user_id, user2)
# Verify user permissions are not created
self.assertFalse(
frappe.db.exists(
"User Permission", {"allow": "Employee", "for_value": employee2.name, "user": user2}
)
)
self.assertFalse(
frappe.db.exists(
"User Permission", {"allow": "Company", "for_value": employee2.company, "user": user2}
)
)
def tearDown(self):
frappe.db.rollback()