test: leaves updated after submission with carry forwarding
This commit is contained in:
@@ -69,7 +69,6 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
|
|
||||||
def test_validation_for_over_allocation(self):
|
def test_validation_for_over_allocation(self):
|
||||||
leave_type = create_leave_type(leave_type_name="Test Over Allocation", is_carry_forward=1)
|
leave_type = create_leave_type(leave_type_name="Test Over Allocation", is_carry_forward=1)
|
||||||
leave_type.save()
|
|
||||||
|
|
||||||
doc = frappe.get_doc(
|
doc = frappe.get_doc(
|
||||||
{
|
{
|
||||||
@@ -137,9 +136,9 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
).insert()
|
).insert()
|
||||||
|
|
||||||
leave_type = create_leave_type(leave_type_name="_Test Allocation Validation", is_carry_forward=1)
|
leave_type = create_leave_type(
|
||||||
leave_type.max_leaves_allowed = 25
|
leave_type_name="_Test Allocation Validation", is_carry_forward=1, max_leaves_allowed=25
|
||||||
leave_type.save()
|
)
|
||||||
|
|
||||||
# 15 leaves allocated in this period
|
# 15 leaves allocated in this period
|
||||||
allocation = create_leave_allocation(
|
allocation = create_leave_allocation(
|
||||||
@@ -174,9 +173,9 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
).insert()
|
).insert()
|
||||||
|
|
||||||
leave_type = create_leave_type(leave_type_name="_Test Allocation Validation", is_carry_forward=1)
|
leave_type = create_leave_type(
|
||||||
leave_type.max_leaves_allowed = 30
|
leave_type_name="_Test Allocation Validation", is_carry_forward=1, max_leaves_allowed=30
|
||||||
leave_type.save()
|
)
|
||||||
|
|
||||||
# 15 leaves allocated
|
# 15 leaves allocated
|
||||||
allocation = create_leave_allocation(
|
allocation = create_leave_allocation(
|
||||||
@@ -207,7 +206,6 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
|
|
||||||
def test_validate_back_dated_allocation_update(self):
|
def test_validate_back_dated_allocation_update(self):
|
||||||
leave_type = create_leave_type(leave_type_name="_Test_CF_leave", is_carry_forward=1)
|
leave_type = create_leave_type(leave_type_name="_Test_CF_leave", is_carry_forward=1)
|
||||||
leave_type.save()
|
|
||||||
|
|
||||||
# initial leave allocation = 15
|
# initial leave allocation = 15
|
||||||
leave_allocation = create_leave_allocation(
|
leave_allocation = create_leave_allocation(
|
||||||
@@ -235,10 +233,12 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
self.assertRaises(BackDatedAllocationError, leave_allocation.save)
|
self.assertRaises(BackDatedAllocationError, leave_allocation.save)
|
||||||
|
|
||||||
def test_carry_forward_calculation(self):
|
def test_carry_forward_calculation(self):
|
||||||
leave_type = create_leave_type(leave_type_name="_Test_CF_leave", is_carry_forward=1)
|
leave_type = create_leave_type(
|
||||||
leave_type.maximum_carry_forwarded_leaves = 10
|
leave_type_name="_Test_CF_leave",
|
||||||
leave_type.max_leaves_allowed = 30
|
is_carry_forward=1,
|
||||||
leave_type.save()
|
maximum_carry_forwarded_leaves=10,
|
||||||
|
max_leaves_allowed=30,
|
||||||
|
)
|
||||||
|
|
||||||
# initial leave allocation = 15
|
# initial leave allocation = 15
|
||||||
leave_allocation = create_leave_allocation(
|
leave_allocation = create_leave_allocation(
|
||||||
@@ -286,7 +286,6 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
is_carry_forward=1,
|
is_carry_forward=1,
|
||||||
expire_carry_forwarded_leaves_after_days=90,
|
expire_carry_forwarded_leaves_after_days=90,
|
||||||
)
|
)
|
||||||
leave_type.save()
|
|
||||||
|
|
||||||
# initial leave allocation
|
# initial leave allocation
|
||||||
leave_allocation = create_leave_allocation(
|
leave_allocation = create_leave_allocation(
|
||||||
@@ -352,12 +351,40 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
leave_allocation.submit()
|
leave_allocation.submit()
|
||||||
leave_allocation.reload()
|
leave_allocation.reload()
|
||||||
self.assertTrue(leave_allocation.total_leaves_allocated, 15)
|
self.assertEqual(leave_allocation.total_leaves_allocated, 15)
|
||||||
|
|
||||||
leave_allocation.new_leaves_allocated = 40
|
leave_allocation.new_leaves_allocated = 40
|
||||||
leave_allocation.submit()
|
leave_allocation.save()
|
||||||
leave_allocation.reload()
|
leave_allocation.reload()
|
||||||
self.assertTrue(leave_allocation.total_leaves_allocated, 40)
|
self.assertEqual(leave_allocation.total_leaves_allocated, 40)
|
||||||
|
|
||||||
|
def test_leave_addition_after_submit_with_carry_forward(self):
|
||||||
|
from hrms.hr.doctype.leave_application.test_leave_application import (
|
||||||
|
create_carry_forwarded_allocation,
|
||||||
|
)
|
||||||
|
|
||||||
|
leave_type = create_leave_type(
|
||||||
|
leave_type_name="_Test_CF_leave_expiry",
|
||||||
|
is_carry_forward=1,
|
||||||
|
include_holiday=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
leave_allocation = create_carry_forwarded_allocation(self.employee, leave_type)
|
||||||
|
|
||||||
|
self.assertEqual(leave_allocation.total_leaves_allocated, 30)
|
||||||
|
|
||||||
|
leave_allocation.new_leaves_allocated = 32
|
||||||
|
leave_allocation.save()
|
||||||
|
leave_allocation.reload()
|
||||||
|
|
||||||
|
updated_entry = frappe.db.get_all(
|
||||||
|
"Leave Ledger Entry",
|
||||||
|
{"transaction_name": leave_allocation.name},
|
||||||
|
pluck="leaves",
|
||||||
|
order_by="creation desc",
|
||||||
|
limit=1,
|
||||||
|
)
|
||||||
|
self.assertEqual(updated_entry[0], 17)
|
||||||
|
|
||||||
def test_leave_subtraction_after_submit(self):
|
def test_leave_subtraction_after_submit(self):
|
||||||
leave_allocation = create_leave_allocation(
|
leave_allocation = create_leave_allocation(
|
||||||
@@ -365,12 +392,38 @@ class TestLeaveAllocation(FrappeTestCase):
|
|||||||
)
|
)
|
||||||
leave_allocation.submit()
|
leave_allocation.submit()
|
||||||
leave_allocation.reload()
|
leave_allocation.reload()
|
||||||
self.assertTrue(leave_allocation.total_leaves_allocated, 15)
|
self.assertEqual(leave_allocation.total_leaves_allocated, 15)
|
||||||
|
|
||||||
leave_allocation.new_leaves_allocated = 10
|
leave_allocation.new_leaves_allocated = 10
|
||||||
leave_allocation.submit()
|
leave_allocation.submit()
|
||||||
leave_allocation.reload()
|
leave_allocation.reload()
|
||||||
self.assertTrue(leave_allocation.total_leaves_allocated, 10)
|
self.assertEqual(leave_allocation.total_leaves_allocated, 10)
|
||||||
|
|
||||||
|
def test_leave_subtraction_after_submit_with_carry_forward(self):
|
||||||
|
from hrms.hr.doctype.leave_application.test_leave_application import (
|
||||||
|
create_carry_forwarded_allocation,
|
||||||
|
)
|
||||||
|
|
||||||
|
leave_type = create_leave_type(
|
||||||
|
leave_type_name="_Test_CF_leave_expiry",
|
||||||
|
is_carry_forward=1,
|
||||||
|
include_holiday=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
leave_allocation = create_carry_forwarded_allocation(self.employee, leave_type)
|
||||||
|
self.assertEqual(leave_allocation.total_leaves_allocated, 30)
|
||||||
|
|
||||||
|
leave_allocation.new_leaves_allocated = 8
|
||||||
|
leave_allocation.save()
|
||||||
|
|
||||||
|
updated_entry = frappe.db.get_all(
|
||||||
|
"Leave Ledger Entry",
|
||||||
|
{"transaction_name": leave_allocation.name},
|
||||||
|
pluck="leaves",
|
||||||
|
order_by="creation desc",
|
||||||
|
limit=1,
|
||||||
|
)
|
||||||
|
self.assertEqual(updated_entry[0], -7)
|
||||||
|
|
||||||
def test_validation_against_leave_application_after_submit(self):
|
def test_validation_against_leave_application_after_submit(self):
|
||||||
from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_holiday_list
|
from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_holiday_list
|
||||||
|
|||||||
Reference in New Issue
Block a user