fix: test cases
diff --git a/erpnext/payroll/doctype/gratuity/test_gratuity.py b/erpnext/payroll/doctype/gratuity/test_gratuity.py
index 0e485cc..571eef4 100644
--- a/erpnext/payroll/doctype/gratuity/test_gratuity.py
+++ b/erpnext/payroll/doctype/gratuity/test_gratuity.py
@@ -6,16 +6,18 @@
import frappe
import unittest
from erpnext.hr.doctype.employee.test_employee import make_employee
-from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_employee_salary_slip, make_earning_salary_component
+from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_employee_salary_slip, make_earning_salary_component, \
+ make_deduction_salary_component
from erpnext.payroll.doctype.gratuity.gratuity import get_last_salary_slip
from erpnext.regional.united_arab_emirates.setup import create_gratuity_rule
from erpnext.hr.doctype.expense_claim.test_expense_claim import get_payable_account
from frappe.utils import getdate, add_days, get_datetime, flt
-test_dependencies = ["Salary Component", "Salary Slip"]
+test_dependencies = ["Salary Component", "Salary Slip", "Account"]
class TestGratuity(unittest.TestCase):
def setUp(self):
- make_earning_salary_component()
+ make_earning_salary_component(setup=True, test_tax=True, company_list=['_Test Company'])
+ make_deduction_salary_component(setup=True, test_tax=True, company_list=['_Test Company'])
frappe.db.sql("DELETE FROM `tabGratuity`")
frappe.db.sql("DELETE FROM `tabAdditional Salary` WHERE ref_doctype = 'Gratuity'")
@@ -39,14 +41,11 @@
employee_total_workings_days = (get_datetime(relieving_date) - get_datetime(date_of_joining)).days
experience = employee_total_workings_days/rule.total_working_days_per_year
-
gratuity.reload()
-
from math import floor
-
self.assertEqual(floor(experience), gratuity.current_work_experience)
- #amount Calculation 6
+ #amount Calculation
component_amount = frappe.get_list("Salary Detail",
filters={
"docstatus": 1,
@@ -80,7 +79,7 @@
gratuity.payroll_date = getdate()
gratuity.expense_account = "Payment Account - _TC"
gratuity.payable_account = payable_account
- gratuity.mode_of_payment = "Cheque"
+ gratuity.mode_of_payment = "Cash"
gratuity.save()
gratuity.submit()
@@ -97,7 +96,7 @@
self.assertEqual(floor(experience), gratuity.current_work_experience)
- #amount Calculation 6
+ #amount Calculation
component_amount = frappe.get_list("Salary Detail",
filters={
"docstatus": 1,
@@ -150,7 +149,11 @@
return rule
def set_mode_of_payment_account():
- mode_of_payment = frappe.get_doc("Mode of Payment", "Cheque")
+ if not frappe.db.exists("Account", "Payment Account - _TC"):
+ mode_of_payment = create_account()
+ else:
+ mode_of_payment = frappe.get_doc("Mode of Payment", "Cash")
+
mode_of_payment.accounts = []
mode_of_payment.append("accounts", {
"company": "_Test Company",
@@ -158,6 +161,18 @@
})
mode_of_payment.save()
+def create_account():
+ return frappe.get_doc({
+ "doctype": "Account",
+ "company": "_Test Company",
+ "account_name": "Payment Account",
+ "root_type": "Asset",
+ "report_type": "Balance Sheet",
+ "currency": "INR",
+ "parent_account": "Bank Accounts - _TC",
+ "account_type": "Bank",
+ }).insert(ignore_permissions=True)
+
def create_employee_and_get_last_salary_slip():
employee = make_employee("test_employee@salary.com", company='_Test Company')
frappe.db.set_value("Employee", employee, "relieving_date", getdate())