def setUp(self): frappe.db.sql(''' delete from `tabCompensatory Leave Request`''') frappe.db.sql(''' delete from `tabLeave Ledger Entry`''') frappe.db.sql(''' delete from `tabLeave Allocation`''') frappe.db.sql( ''' delete from `tabAttendance` where attendance_date in {0} '''. format((today(), add_days(today(), -1)))) #nosec create_leave_period(add_months(today(), -3), add_months(today(), 3), "_Test Company") create_holiday_list() employee = get_employee() employee.holiday_list = "_Test Compensatory Leave" employee.save()
def setUp(self): frappe.db.sql('''delete from `tabLeave Period`''') frappe.db.sql('''delete from `tabLeave Allocation`''') frappe.db.sql('''delete from `tabLeave Ledger Entry`''') frappe.db.sql('''delete from `tabAdditional Salary`''') # create the leave policy leave_policy = create_leave_policy( leave_type="_Test Leave Type Encashment", annual_allocation=10) leave_policy.submit() # create employee, salary structure and assignment self.employee = make_employee("*****@*****.**") frappe.db.set_value("Employee", self.employee, "leave_policy", leave_policy.name) salary_structure = make_salary_structure( "Salary Structure for Encashment", "Monthly", self.employee, other_details={"leave_encashment_amount_per_day": 50}) # create the leave period and assign the leaves self.leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3)) self.leave_period.grant_leave_allocation(employee=self.employee)
def setUp(self): frappe.db.sql("""delete from `tabLeave Period`""") frappe.db.sql("""delete from `tabLeave Policy Assignment`""") frappe.db.sql("""delete from `tabLeave Allocation`""") frappe.db.sql("""delete from `tabLeave Ledger Entry`""") frappe.db.sql("""delete from `tabAdditional Salary`""") # create the leave policy leave_policy = create_leave_policy( leave_type="_Test Leave Type Encashment", annual_allocation=10) leave_policy.submit() # create employee, salary structure and assignment self.employee = make_employee("*****@*****.**") self.leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3)) data = { "assignment_based_on": "Leave Period", "leave_policy": leave_policy.name, "leave_period": self.leave_period.name, } leave_policy_assignments = create_assignment_for_multiple_employees( [self.employee], frappe._dict(data)) salary_structure = make_salary_structure( "Salary Structure for Encashment", "Monthly", self.employee, other_details={"leave_encashment_amount_per_day": 50}, )
def test_leave_balance_value_and_amount(self): employee = "*****@*****.**" leave_type = "_Test Leave Type Encashment" # create the leave policy leave_policy = frappe.get_doc({ "doctype": "Leave Policy", "leave_policy_details": [{ "leave_type": leave_type, "annual_allocation": 10 }] }).insert() leave_policy.submit() # create employee, salary structure and assignment employee = make_employee(employee) frappe.db.set_value("Employee", employee, "leave_policy", leave_policy.name) salary_structure = make_salary_structure( "Salary Structure for Encashment", "Monthly", employee, other_details={"leave_encashment_amount_per_day": 50}) # create the leave period and assign the leaves leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3)) leave_period.grant_leave_allocation(employee=employee) leave_encashment = frappe.get_doc( dict(doctype='Leave Encashment', employee=employee, leave_type=leave_type, leave_period=leave_period.name, payroll_date=today())).insert() self.assertEqual(leave_encashment.leave_balance, 10) self.assertEqual(leave_encashment.encashable_days, 5) self.assertEqual(leave_encashment.encashment_amount, 250) leave_encashment.submit() self.assertTrue( frappe.db.get_value("Leave Encashment", leave_encashment.name, "additional_salary"))
def setUp(self): frappe.db.delete("Leave Period") frappe.db.delete("Leave Policy Assignment") frappe.db.delete("Leave Allocation") frappe.db.delete("Leave Ledger Entry") frappe.db.delete("Additional Salary") frappe.db.delete("Leave Encashment") if not frappe.db.exists("Leave Type", "_Test Leave Type Encashment"): frappe.get_doc(test_records[2]).insert() date = getdate() year_start = getdate(get_year_start(date)) year_end = getdate(get_year_ending(date)) make_holiday_list("_Test Leave Encashment", year_start, year_end) # create the leave policy leave_policy = create_leave_policy( leave_type="_Test Leave Type Encashment", annual_allocation=10 ) leave_policy.submit() # create employee, salary structure and assignment self.employee = make_employee("*****@*****.**", company="_Test Company") self.leave_period = create_leave_period(year_start, year_end, "_Test Company") data = { "assignment_based_on": "Leave Period", "leave_policy": leave_policy.name, "leave_period": self.leave_period.name, } leave_policy_assignments = create_assignment_for_multiple_employees( [self.employee], frappe._dict(data) ) salary_structure = make_salary_structure( "Salary Structure for Encashment", "Monthly", self.employee, other_details={"leave_encashment_amount_per_day": 50}, )
def test_leave_balance_value_and_amount(self): employee = "*****@*****.**" leave_type = "_Test Leave Type Encashment" # create the leave policy leave_policy = frappe.get_doc({ "doctype": "Leave Policy", "leave_policy_details": [{ "leave_type": leave_type, "annual_allocation": 10 }] }).insert() leave_policy.submit() # create employee, salary structure and assignment employee = make_employee(employee) frappe.db.set_value("Employee", employee, "leave_policy", leave_policy.name) salary_structure = make_salary_structure("Salary Structure for Encashment", "Monthly", employee, other_details={"leave_encashment_amount_per_day": 50}) # create the leave period and assign the leaves leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3)) leave_period.grant_leave_allocation(employee=employee) leave_encashment = frappe.get_doc(dict( doctype = 'Leave Encashment', employee = employee, leave_type = leave_type, leave_period = leave_period.name, payroll_date = today() )).insert() self.assertEqual(leave_encashment.leave_balance, 10) self.assertEqual(leave_encashment.encashable_days, 5) self.assertEqual(leave_encashment.encashment_amount, 250) leave_encashment.submit() self.assertTrue(frappe.db.get_value("Leave Encashment", leave_encashment.name, "additional_salary"))