Skip to content

Commit

Permalink
chore: add test
Browse files Browse the repository at this point in the history
(cherry picked from commit 3589e04)

# Conflicts:
#	hrms/hr/doctype/leave_encashment/test_leave_encashment.py
  • Loading branch information
AyshaHakeem authored and mergify[bot] committed Mar 9, 2025
1 parent 373dfda commit da75f03
Showing 1 changed file with 89 additions and 1 deletion.
90 changes: 89 additions & 1 deletion hrms/hr/doctype/leave_encashment/test_leave_encashment.py
Original file line number Diff line number Diff line change
Expand Up @@ -408,9 +408,13 @@ 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

<<<<<<< HEAD
leave_encashment = frappe.get_doc(
doctype="Leave Encashment",
employee=self.employee,
Expand All @@ -421,6 +425,11 @@ def test_status_of_leave_encashment_after_payment_via_payment_entry(self):
expense_account="Administrative Expenses - _TC",
cost_center="Main - _TC",
).save()
=======
leave_encashment = self.create_test_leave_encashment(
pay_via_payment_entry=1, payable_account="Payroll Payable - _TC"
)
>>>>>>> 3589e049 (chore: add test)
leave_encashment.submit()

pe = get_payment_entry_for_employee(leave_encashment.doctype, leave_encashment.name)
Expand All @@ -430,5 +439,84 @@ def test_status_of_leave_encashment_after_payment_via_payment_entry(self):
pe.submit()

leave_encashment.reload()
self.assertEqual(leave_encashment.status, "Paid")
<<<<<<< HEAD
=======

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 = {
"employee": self.employee,
"leave_type": "_Test Leave Type Encashment",
"leave_period": self.leave_period.name,
"encashment_date": self.leave_period.to_date,
"currency": "INR",
}
args.update(kwargs)
return create_leave_encashment(**args)


def create_leave_encashment(**args):
if args:
args = frappe._dict(args)
leave_encashment = frappe.new_doc("Leave Encashment")
leave_encashment.company = args.company or "_Test Company"
leave_encashment.employee = args.employee
leave_encashment.posting_date = args.posting_date or getdate()
leave_encashment.leave_type = args.leave_type
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_currency"
)
leave_encashment.pay_via_payment_entry = args.pay_via_payment_entry or 0
if leave_encashment.pay_via_payment_entry:
leave_encashment.payable_account = args.payable_account or frappe.get_cached_value(
"Company", "_Test Company", "default_payable_account"
)
leave_encashment.expense_account = args.expense_account or "Administrative Expenses - _TC"
leave_encashment.cost_center = args.cost_center or "Main - _TC"

if args.encashment_days:
leave_encashment.encashment_days = args.encashment_days

leave_encashment.insert()

return leave_encashment
>>>>>>> 3589e049 (chore: add test)

0 comments on commit da75f03

Please sign in to comment.