Skip to content

Commit

Permalink
chore: add test
Browse files Browse the repository at this point in the history
  • Loading branch information
AyshaHakeem committed Mar 9, 2025
1 parent cec13aa commit 3589e04
Showing 1 changed file with 43 additions and 3 deletions.
46 changes: 43 additions & 3 deletions hrms/hr/doctype/leave_encashment/test_leave_encashment.py
Original file line number Diff line number Diff line change
Expand Up @@ -347,10 +347,15 @@ def test_status_of_leave_encashment_after_payment_via_salary_slip(self):
leave_encashment.reload()
self.assertEqual(leave_encashment.status, "Unpaid")

def test_status_of_leave_encashment_after_payment_via_payment_entry(self):
def test_status_of_leave_encashment_after_payment_via_payment_entry_and_fnf(self):
from hrms.hr.doctype.full_and_final_statement.test_full_and_final_statement import (
create_full_and_final_statement,
)
from hrms.overrides.employee_payment_entry import get_payment_entry_for_employee

leave_encashment = self.create_test_leave_encashment(pay_via_payment_entry=1)
leave_encashment = self.create_test_leave_encashment(
pay_via_payment_entry=1, payable_account="Payroll Payable - _TC"
)
leave_encashment.submit()

pe = get_payment_entry_for_employee(leave_encashment.doctype, leave_encashment.name)
Expand All @@ -360,9 +365,44 @@ def test_status_of_leave_encashment_after_payment_via_payment_entry(self):
pe.submit()

leave_encashment.reload()
self.assertEqual(leave_encashment.status, "Paid")

pe.cancel()
leave_encashment.reload()
self.assertEqual(leave_encashment.status, "Unpaid")

frappe.db.set_value("Employee", self.employee, "relieving_date", getdate())

fnf = create_full_and_final_statement(self.employee)
fnf.payables = []
fnf.receivables = []
fnf.append(
"payables",
{
"component": "Leave Encashment",
"reference_document_type": "Leave Encashment",
"reference_document": leave_encashment.name,
"amount": leave_encashment.encashment_amount,
"account": leave_encashment.payable_account,
"status": "Settled",
},
)
fnf.submit()

jv = fnf.create_journal_entry()
jv.accounts[1].account = frappe.get_cached_value("Company", "_Test Company", "default_bank_account")
jv.cheque_no = "123456"
jv.cheque_date = getdate()
jv.save()
jv.submit()

leave_encashment.reload()
self.assertEqual(leave_encashment.status, "Paid")

jv.cancel()
leave_encashment.reload()
self.assertEqual(leave_encashment.status, "Unpaid")

def create_test_leave_encashment(self, **kwargs):
"""Helper method to create leave encashment with default values"""
args = {
Expand All @@ -387,7 +427,7 @@ def create_leave_encashment(**args):
leave_encashment.leave_period = args.leave_period
leave_encashment.encashment_date = args.encashment_date or getdate()
leave_encashment.currency = args.currency or frappe.get_cached_value(
"Company", "_Test Company", "default_payable_account"
"Company", "_Test Company", "default_currency"
)
leave_encashment.pay_via_payment_entry = args.pay_via_payment_entry or 0
if leave_encashment.pay_via_payment_entry:
Expand Down

0 comments on commit 3589e04

Please sign in to comment.