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)
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)
def make_sales_invoice_for_timesheet(name): sales_invoice = make_sales_invoice(name) sales_invoice.customer = get_random("Customer") sales_invoice.append('items', { 'item_code': get_random_item(), 'qty': 1, 'rate': 1000 }) sales_invoice.set_missing_values() sales_invoice.calculate_taxes_and_totals() sales_invoice.insert() sales_invoice.submit()
def make_sales_invoice_for_timesheet(name): sales_invoice = make_sales_invoice(name) sales_invoice.customer = get_random("Customer") sales_invoice.append('items', { 'item_code': get_random("Item", {"has_variants": 0, "is_stock_item": 0, "is_fixed_asset": 0}), 'qty': 1, 'rate': 1000 }) sales_invoice.flags.ignore_permissions = 1 sales_invoice.set_missing_values() sales_invoice.calculate_taxes_and_totals() sales_invoice.insert() sales_invoice.submit() frappe.db.commit()
def test_sales_invoice_from_timesheet(self): timesheet = make_timesheet("_T-Employee-0001", simulate=True, billable=1) sales_invoice = make_sales_invoice(timesheet.name, '_Test Item', '_Test Customer') sales_invoice.due_date = nowdate() sales_invoice.submit() timesheet = frappe.get_doc('Timesheet', timesheet.name) self.assertEquals(sales_invoice.total_billing_amount, 100) self.assertEquals(timesheet.status, 'Billed') self.assertEquals(sales_invoice.customer, '_Test Customer') item = sales_invoice.items[0] self.assertEquals(item.item_code, '_Test Item') self.assertEquals(item.qty, 2.00) self.assertEquals(item.rate, 50.00)
def test_sales_invoice_from_timesheet(self): timesheet = make_timesheet("_T-Employee-0001", simulate = True, billable = 1) sales_invoice = make_sales_invoice(timesheet.name) sales_invoice.customer = "_Test Customer" sales_invoice.due_date = nowdate() item = sales_invoice.append('items', {}) item.item_code = '_Test Item' item.qty = 2 item.rate = 100 sales_invoice.submit() timesheet = frappe.get_doc('Timesheet', timesheet.name) self.assertEquals(sales_invoice.total_billing_amount, 100) self.assertEquals(timesheet.status, 'Billed')
def test_sales_invoice_from_timesheet(self): timesheet = make_timesheet("_T-Employee-0001", simulate = True, billable = 1) sales_invoice = make_sales_invoice(timesheet.name) sales_invoice.customer = "_Test Customer" sales_invoice.due_date = nowdate() item = sales_invoice.append('items', {}) item.item_code = '_Test Item' item.qty = 2 item.rate = 100 sales_invoice.submit() timesheet = frappe.get_doc('Timesheet', timesheet.name) self.assertEquals(sales_invoice.total_billing_amount, 100) self.assertEquals(timesheet.status, 'Billed')
def test_sales_invoice_from_timesheet(self): emp = make_employee("*****@*****.**") timesheet = make_timesheet(emp, simulate=True, is_billable=1) sales_invoice = make_sales_invoice(timesheet.name, "_Test Item", "_Test Customer") sales_invoice.due_date = nowdate() sales_invoice.submit() timesheet = frappe.get_doc("Timesheet", timesheet.name) self.assertEqual(sales_invoice.total_billing_amount, 100) self.assertEqual(timesheet.status, "Billed") self.assertEqual(sales_invoice.customer, "_Test Customer") item = sales_invoice.items[0] self.assertEqual(item.item_code, "_Test Item") self.assertEqual(item.qty, 2.00) self.assertEqual(item.rate, 50.00)
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)