Employee Promotion, Transfer - test submit before date, create new employee
diff --git a/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py b/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py
index 8b668e7..420bbe6 100644
--- a/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py
+++ b/erpnext/hr/doctype/employee_promotion/test_employee_promotion.py
@@ -5,6 +5,31 @@
import frappe
import unittest
+from frappe.utils import getdate, add_days
+from erpnext.hr.doctype.salary_structure.test_salary_structure import make_employee
class TestEmployeePromotion(unittest.TestCase):
- pass
+ def setUp(self):
+ self.employee = make_employee("employee@promotions.com")
+ frappe.db.sql("""delete from `tabEmployee Promotion`""")
+
+ def test_submit_before_promotion_date(self):
+ promotion_obj = frappe.get_doc({
+ "doctype": "Employee Promotion",
+ "employee": self.employee,
+ "promotion_details" :[
+ {
+ "property": "Designation",
+ "current": "Software Developer",
+ "new": "Project Manager",
+ "fieldname": "designation"
+ }
+ ]
+ })
+ promotion_obj.promotion_date = add_days(getdate(), 1)
+ promotion_obj.save()
+ self.assertRaises(frappe.DocstatusTransitionError, promotion_obj.submit)
+ promotion = frappe.get_doc("Employee Promotion", promotion_obj.name)
+ promotion.promotion_date = getdate()
+ promotion.submit()
+ self.assertEqual(promotion.docstatus, 1)
diff --git a/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py b/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py
index 049273e..3dae1a9 100644
--- a/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py
+++ b/erpnext/hr/doctype/employee_transfer/test_employee_transfer.py
@@ -5,6 +5,52 @@
import frappe
import unittest
+from frappe.utils import getdate, add_days
+from erpnext.hr.doctype.salary_structure.test_salary_structure import make_employee
class TestEmployeeTransfer(unittest.TestCase):
- pass
+ def setUp(self):
+ make_employee("employee2@transfers.com")
+ make_employee("employee3@transfers.com")
+ frappe.db.sql("""delete from `tabEmployee Transfer`""")
+
+ def test_submit_before_transfer_date(self):
+ transfer_obj = frappe.get_doc({
+ "doctype": "Employee Transfer",
+ "employee": frappe.get_value("Employee", {"user_id":"employee2@transfers.com"}, "name"),
+ "transfer_details" :[
+ {
+ "property": "Designation",
+ "current": "Software Developer",
+ "new": "Project Manager",
+ "fieldname": "designation"
+ }
+ ]
+ })
+ transfer_obj.transfer_date = add_days(getdate(), 1)
+ transfer_obj.save()
+ self.assertRaises(frappe.DocstatusTransitionError, transfer_obj.submit)
+ transfer = frappe.get_doc("Employee Transfer", transfer_obj.name)
+ transfer.transfer_date = getdate()
+ transfer.submit()
+ self.assertEqual(transfer.docstatus, 1)
+
+ def test_new_employee_creation(self):
+ transfer = frappe.get_doc({
+ "doctype": "Employee Transfer",
+ "employee": frappe.get_value("Employee", {"user_id":"employee3@transfers.com"}, "name"),
+ "create_new_employee_id": 1,
+ "transfer_date": getdate(),
+ "transfer_details" :[
+ {
+ "property": "Designation",
+ "current": "Software Developer",
+ "new": "Project Manager",
+ "fieldname": "designation"
+ }
+ ]
+ }).insert()
+ transfer.submit()
+ self.assertTrue(transfer.new_employee_id)
+ self.assertEqual(frappe.get_value("Employee", transfer.new_employee_id, "status"), "Active")
+ self.assertEqual(frappe.get_value("Employee", transfer.employee, "status"), "Left")