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()
Пример #2
0
    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)
Пример #3
0
    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"))
Пример #5
0
	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},
		)
Пример #6
0
	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"))