test: pass leave type as params
diff --git a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
index 3bc8dc4..325f3a7 100644
--- a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
+++ b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
@@ -1,7 +1,7 @@
from __future__ import unicode_literals
import frappe
import unittest
-from frappe.utils import nowdate, add_months, getdate
+from frappe.utils import nowdate, add_months, getdate, add_days
from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type
class TestLeaveAllocation(unittest.TestCase):
@@ -71,36 +71,27 @@
def test_carry_forward_allocation(self):
frappe.db.sql("delete from `tabLeave Allocation`")
- employee = frappe.get_doc("Employee", frappe.db.sql_list("select name from tabEmployee limit 1")[0])
- doc = frappe.get_doc({
- "doctype": "Leave Allocation",
- "__islocal": 1,
- "employee": employee.name,
- "employee_name": employee.employee_name,
- "leave_type": "_Test Leave Type Carry Forward",
- "from_date": nowdate(),
- "to_date": add_months(nowdate(),-12),
- "new_leaves_allocated": 10
- })
- doc.save()
- doc = frappe.get_doc({
- "doctype": "Leave Allocation",
- "__islocal": 1,
- "employee": employee.name,
- "employee_name": employee.employee_name,
- "leave_type": "_Test Leave Type Carry Forward",
- "from_date": nowdate(),
- "to_date": add_months(now_date(),12),
- "carry_forward": 1
- })
- doc.save()
- self.assertEquals(doc.total_leaves_allocated, 10)
+ leave_type = create_leave_type(
+ leave_type_name="_Test Carry Forward",
+ is_carry_forward=1,
+ carry_forward_leave_expiry=366)
+ leave_type.submit()
+
+ leave_allocation = create_leave_allocation(
+ from_date=add_months(nowdate(), -12),
+ to_date=add_days(nowdate(), -1),
+ leave_type=leave_type
+ )
+ leave_allocation.new_leaves_allocated = 10
+ leave_allocation.submit()
+
+ carry_forward_alloc = create_leave_allocation(leave_type=leave_type)
+ carry_forward_alloc.carry_forward = 1
+ carry_forward_alloc.save()
+ self.assertEquals(carry_forward_alloc.total_leaves_allocated, 10)
def create_leave_allocation(**args):
args = frappe._dict(args)
- if not frappe.db.exists("Leave Type", "_Test Leave Type"):
- leave_type = create_leave_type(args.leave_type)
- leave_type.insert()
employee = frappe.get_doc("Employee", frappe.db.sql_list("select name from tabEmployee limit 1")[0])
leave_allocation = frappe.get_doc({
@@ -108,10 +99,9 @@
"__islocal": 1,
"employee": employee.name,
"employee_name": employee.employee_name,
- "leave_type": args.leave_type or "_Test Leave Type",
+ "leave_type": args.leave_type.leave_type_name or "_Test Leave Type",
"from_date": args.from_date or nowdate(),
- "to_date": args.to_date or add_months(nowdate(), 12),
- "new_leaves_allocated": args.new_leaves_allocated or 20
+ "to_date": args.to_date or add_months(nowdate(), 12)
})
return leave_allocation
diff --git a/erpnext/hr/doctype/leave_type/test_leave_type.py b/erpnext/hr/doctype/leave_type/test_leave_type.py
index 671865b..1006550 100644
--- a/erpnext/hr/doctype/leave_type/test_leave_type.py
+++ b/erpnext/hr/doctype/leave_type/test_leave_type.py
@@ -8,6 +8,7 @@
test_records = frappe.get_test_records('Leave Type')
def create_leave_type(**args):
+ args = frappe._dict(args)
if frappe.db.exists("Leave Type", args.leave_type_name):
return frappe.get_doc("Leave Type", args.leave_type_name)
leave_type = frappe.get_doc({
@@ -18,7 +19,7 @@
"is_earned_leave": args.is_earned_leave or 0,
"is_lwp": args.is_lwp or 0,
"is_carry_forward": args.is_carry_forward or 0,
- "carry_forward_leave_expiry": args.is_carry_forward or 0,
+ "carry_forward_leave_expiry": args.carry_forward_leave_expiry or 0,
"encashment_threshold_days": args.encashment_threshold_days or 5,
"earning_component": "Leave Encashment"
})