def setUp(self):
        frappe.db.sql("delete from `tabTimesheet`")
        emp = make_employee("*****@*****.**",
                            company="_Test Company")

        if not frappe.db.exists("Salary Component", "Timesheet Component"):
            frappe.get_doc({
                "doctype": "Salary Component",
                "salary_component": "Timesheet Component"
            }).insert()

        make_salary_structure_for_timesheet(emp, company="_Test Company")
        date = getdate()

        self.timesheet = make_timesheet(emp, is_billable=1)
        self.salary_slip = make_salary_slip(self.timesheet.name)
        self.salary_slip.start_date = self.timesheet.start_date

        holidays = self.salary_slip.get_holidays_for_employee(date, date)
        if holidays:
            frappe.db.set_value("Payroll Settings", None,
                                "include_holidays_in_total_working_days", 1)

        self.salary_slip.submit()
        self.sales_invoice = make_sales_invoice(self.timesheet.name,
                                                "_Test Item", "_Test Customer")
        self.sales_invoice.due_date = date
        self.sales_invoice.submit()

        frappe.db.set_value("HR Settings", None, "standard_working_hours", 8)
        frappe.db.set_value("Payroll Settings", None,
                            "include_holidays_in_total_working_days", 0)
Exemple #2
0
    def setUp(self):
        emp = make_employee('*****@*****.**',
                            company='_Test Company')
        if not frappe.db.exists('Salary Component', 'Timesheet Component'):
            frappe.get_doc({
                'doctype': 'Salary Component',
                'salary_component': 'Timesheet Component'
            }).insert()
        make_salary_structure_for_timesheet(emp, company='_Test Company')
        self.timesheet = make_timesheet(emp, simulate=True, is_billable=1)
        self.salary_slip = make_salary_slip(self.timesheet.name)
        holidays = self.salary_slip.get_holidays_for_employee(
            nowdate(), nowdate())
        if holidays:
            frappe.db.set_value('Payroll Settings', None,
                                'include_holidays_in_total_working_days', 1)

        self.salary_slip.submit()
        self.sales_invoice = make_sales_invoice(self.timesheet.name,
                                                '_Test Item', '_Test Customer')
        self.sales_invoice.due_date = nowdate()
        self.sales_invoice.submit()

        frappe.db.set_value('HR Settings', None, 'standard_working_hours', 8)
        frappe.db.set_value('Payroll Settings', None,
                            'include_holidays_in_total_working_days', 0)
Exemple #3
0
	def test_salary_slip_from_timesheet(self):
		salary_structure = make_salary_structure("_T-Employee-0001")
		timesheet = make_timesheet("_T-Employee-0001", simulate = True, billable=1)
		salary_slip = make_salary_slip(timesheet.name)
		salary_slip.submit()

		self.assertEquals(salary_slip.total_working_hours, 2)
		self.assertEquals(salary_slip.hour_rate, 50)
		self.assertEquals(salary_slip.net_pay, 150)
		self.assertEquals(salary_slip.timesheets[0].time_sheet, timesheet.name)
		self.assertEquals(salary_slip.timesheets[0].working_hours, 2)
		
		timesheet = frappe.get_doc('Timesheet', timesheet.name)
		self.assertEquals(timesheet.status, 'Payslip')
		salary_slip.cancel()

		timesheet = frappe.get_doc('Timesheet', timesheet.name)
		self.assertEquals(timesheet.status, 'Submitted')
Exemple #4
0
	def test_salary_slip_from_timesheet(self):
		salary_structure = make_salary_structure("_T-Employee-0001")
		timesheet = make_timesheet("_T-Employee-0001", simulate = True, billable=1)
		salary_slip = make_salary_slip(timesheet.name)
		salary_slip.submit()

		self.assertEquals(salary_slip.total_working_hours, 2)
		self.assertEquals(salary_slip.hour_rate, 50)
		self.assertEquals(salary_slip.net_pay, 150)
		self.assertEquals(salary_slip.timesheets[0].time_sheet, timesheet.name)
		self.assertEquals(salary_slip.timesheets[0].working_hours, 2)
		
		timesheet = frappe.get_doc('Timesheet', timesheet.name)
		self.assertEquals(timesheet.status, 'Payslip')
		salary_slip.cancel()

		timesheet = frappe.get_doc('Timesheet', timesheet.name)
		self.assertEquals(timesheet.status, 'Submitted')
Exemple #5
0
    def setUp(self):
        emp = make_employee('*****@*****.**',
                            company='_Test Company')
        if not frappe.db.exists('Salary Component', 'Timesheet Component'):
            frappe.get_doc({
                'doctype': 'Salary Component',
                'salary_component': 'Timesheet Component'
            }).insert()
        make_salary_structure_for_timesheet(emp, company='_Test Company')
        self.timesheet = make_timesheet(emp, simulate=True, billable=1)
        self.salary_slip = make_salary_slip(self.timesheet.name)
        self.salary_slip.submit()
        self.sales_invoice = make_sales_invoice(self.timesheet.name,
                                                '_Test Item', '_Test Customer')
        self.sales_invoice.due_date = nowdate()
        self.sales_invoice.submit()

        frappe.db.set_value("HR Settings", "HR Settings",
                            "standard_working_hours", 8)
Exemple #6
0
	def test_salary_slip_from_timesheet(self):
		salary_structure = make_salary_structure_for_timesheet("_T-Employee-00001")
		timesheet = make_timesheet("_T-Employee-00001", simulate = True, billable=1)
		salary_slip = make_salary_slip(timesheet.name)
		salary_slip.submit()

		self.assertEqual(salary_slip.total_working_hours, 2)
		self.assertEqual(salary_slip.hour_rate, 50)
		self.assertEqual(salary_slip.earnings[0].salary_component, "Timesheet Component")
		self.assertEqual(salary_slip.earnings[0].amount, 100)
		self.assertEqual(salary_slip.timesheets[0].time_sheet, timesheet.name)
		self.assertEqual(salary_slip.timesheets[0].working_hours, 2)

		timesheet = frappe.get_doc('Timesheet', timesheet.name)
		self.assertEqual(timesheet.status, 'Payslip')
		salary_slip.cancel()

		timesheet = frappe.get_doc('Timesheet', timesheet.name)
		self.assertEqual(timesheet.status, 'Submitted')
Exemple #7
0
	def test_salary_slip_from_timesheet(self):
		emp = make_employee("*****@*****.**", company="_Test Company")

		salary_structure = make_salary_structure_for_timesheet(emp)
		timesheet = make_timesheet(emp, simulate=True, is_billable=1)
		salary_slip = make_salary_slip(timesheet.name)
		salary_slip.submit()

		self.assertEqual(salary_slip.total_working_hours, 2)
		self.assertEqual(salary_slip.hour_rate, 50)
		self.assertEqual(salary_slip.earnings[0].salary_component, "Timesheet Component")
		self.assertEqual(salary_slip.earnings[0].amount, 100)
		self.assertEqual(salary_slip.timesheets[0].time_sheet, timesheet.name)
		self.assertEqual(salary_slip.timesheets[0].working_hours, 2)

		timesheet = frappe.get_doc("Timesheet", timesheet.name)
		self.assertEqual(timesheet.status, "Payslip")
		salary_slip.cancel()

		timesheet = frappe.get_doc("Timesheet", timesheet.name)
		self.assertEqual(timesheet.status, "Submitted")
Exemple #8
0
    def test_salary_slip_from_timesheet(self):
        salary_structure = make_salary_structure_for_timesheet(
            "_T-Employee-00001")
        timesheet = make_timesheet("_T-Employee-00001",
                                   simulate=True,
                                   billable=1)
        salary_slip = make_salary_slip(timesheet.name)
        salary_slip.submit()

        self.assertEqual(salary_slip.total_working_hours, 2)
        self.assertEqual(salary_slip.hour_rate, 50)
        self.assertEqual(salary_slip.earnings[0].salary_component,
                         "Timesheet Component")
        self.assertEqual(salary_slip.earnings[0].amount, 100)
        self.assertEqual(salary_slip.timesheets[0].time_sheet, timesheet.name)
        self.assertEqual(salary_slip.timesheets[0].working_hours, 2)

        timesheet = frappe.get_doc('Timesheet', timesheet.name)
        self.assertEqual(timesheet.status, 'Payslip')
        salary_slip.cancel()

        timesheet = frappe.get_doc('Timesheet', timesheet.name)
        self.assertEqual(timesheet.status, 'Submitted')
Exemple #9
0
def make_salary_slip_for_timesheet(name):
    salary_slip = make_salary_slip(name)
    salary_slip.insert()
    salary_slip.submit()
    frappe.db.commit()
Exemple #10
0
def make_salary_slip_for_timesheet(name):
	salary_slip = make_salary_slip(name)
	salary_slip.insert()
	salary_slip.submit()
	frappe.db.commit()