def setUp(self): make_employee("*****@*****.**") make_employee("*****@*****.**") create_payroll_period() create_exemption_category() frappe.db.sql( """delete from `tabEmployee Tax Exemption Declaration`""")
def setUp(self): create_loan_accounts() create_loan_type("Personal Loan", 500000, 8.4, is_term_loan=1, mode_of_payment='Cash', payment_account='Payment Account - _TC', loan_account='Loan Account - _TC', interest_income_account='Interest Income Account - _TC', penalty_income_account='Penalty Income Account - _TC') create_loan_type("Stock Loan", 2000000, 13.5, 25, 1, 5, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC', 'Interest Income Account - _TC', 'Penalty Income Account - _TC') create_loan_type("Demand Loan", 2000000, 13.5, 25, 0, 5, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC', 'Interest Income Account - _TC', 'Penalty Income Account - _TC') create_loan_security_type() create_loan_security() create_loan_security_price("Test Security 1", 500, "Nos", get_datetime() , get_datetime(add_to_date(nowdate(), hours=24))) create_loan_security_price("Test Security 2", 250, "Nos", get_datetime() , get_datetime(add_to_date(nowdate(), hours=24))) self.applicant1 = make_employee("*****@*****.**") if not frappe.db.exists("Customer", "_Test Loan Customer"): frappe.get_doc(get_customer_dict('_Test Loan Customer')).insert(ignore_permissions=True) self.applicant2 = frappe.db.get_value("Customer", {'name': '_Test Loan Customer'}, 'name') create_loan(self.applicant1, "Personal Loan", 280000, "Repay Over Number of Periods", 20)
def setUp(self): self.create_loan_type() self.employee = make_employee("*****@*****.**") self.create_loan_application()
def setUp(self): create_training_program("Basic Training") self.employee = make_employee("*****@*****.**") self.employee2 = make_employee("*****@*****.**")
def setUp(self): self.employee = make_employee("*****@*****.**") frappe.db.sql("""delete from `tabEmployee Promotion`""")
def test_employee_loan(self): from erpnext.hr.doctype.salary_structure.test_salary_structure import ( make_employee, make_salary_structure) from erpnext.hr.doctype.employee_loan.test_employee_loan import create_employee_loan branch = "Test Employee Branch" employee = make_employee("*****@*****.**") company = erpnext.get_default_company() holiday_list = make_holiday("test holiday for loan") if not frappe.db.exists('Salary Component', 'Basic Salary'): frappe.get_doc({ 'doctype': 'Salary Component', 'salary_component': 'Basic Salary', 'salary_component_abbr': 'BS', 'type': 'Earning', 'accounts': [{ 'company': company, 'default_account': frappe.db.get_value( 'Account', { 'company': company, 'root_type': 'Expense', 'account_type': '' }, 'name') }] }).insert() if not frappe.db.get_value('Salary Component Account', { 'parent': 'Basic Salary', 'company': company }): salary_component = frappe.get_doc('Salary Component', 'Basic Salary') salary_component.append('accounts', { 'company': company, 'default_account': 'Salary - WP' }) company_doc = frappe.get_doc('Company', company) if not company_doc.default_payroll_payable_account: company_doc.default_payroll_payable_account = frappe.db.get_value( 'Account', { 'company': company, 'root_type': 'Liability', 'account_type': '' }, 'name') company_doc.save() if not frappe.db.exists('Branch', branch): frappe.get_doc({'doctype': 'Branch', 'branch': branch}).insert() employee_doc = frappe.get_doc('Employee', employee) employee_doc.branch = branch employee_doc.holiday_list = holiday_list employee_doc.save() employee_loan = create_employee_loan(employee, "Personal Loan", 280000, "Repay Over Number of Periods", 20) employee_loan.repay_from_salary = 1 employee_loan.submit() salary_strcture = "Test Salary Structure for Loan" if not frappe.db.exists('Salary Structure', salary_strcture): salary_strcture = make_salary_structure( salary_strcture, [{ 'employee': employee, 'from_date': '2017-01-01', 'base': 30000 }]) salary_strcture = frappe.get_doc('Salary Structure', salary_strcture) salary_strcture.set('earnings', [{ 'salary_component': 'Basic Salary', 'abbr': 'BS', 'amount_based_on_formula': 1, 'formula': 'base*.5' }]) salary_strcture.save() dates = get_start_end_dates('Monthly', nowdate()) make_process_payroll(start_date=dates.start_date, end_date=dates.end_date, branch=branch) name = frappe.db.get_value('Salary Slip', { 'posting_date': nowdate(), 'employee': employee }, 'name') salary_slip = frappe.get_doc('Salary Slip', name) for row in salary_slip.loans: if row.employee_loan == employee_loan.name: interest_amount = (280000 * 8.4) / (12 * 100) principal_amount = employee_loan.monthly_repayment_amount - interest_amount self.assertEqual(row.interest_amount, interest_amount) self.assertEqual(row.principal_amount, principal_amount) self.assertEqual(row.total_payment, interest_amount + principal_amount) if salary_slip.docstatus == 0: frappe.delete_doc('Salary Slip', name) employee_loan.cancel() frappe.delete_doc('Employee Loan', employee_loan.name)
def setUp(self): create_loan_type("Personal Loan", 500000, 8.4) self.applicant = make_employee("*****@*****.**") create_loan(self.applicant, "Personal Loan", 280000, "Repay Over Number of Periods", 20)
def setUp(self): create_loan_type("Personal Loan", 500000, 8.4) self.employee = make_employee("*****@*****.**") create_employee_loan(self.employee, "Personal Loan", 280000, "Repay Over Number of Periods", 20)
def setUp(self): create_loan_accounts() create_loan_type("Home Loan", 500000, 9.2, 0, 1, 0, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC', 'Interest Income Account - _TC', 'Penalty Income Account - _TC', 'Repay Over Number of Periods', 18) self.applicant = make_employee("*****@*****.**", "_Test Company") self.create_loan_application()
def test_employee_loan(self): from erpnext.hr.doctype.salary_structure.test_salary_structure import (make_employee, make_salary_structure) from erpnext.hr.doctype.employee_loan.test_employee_loan import create_employee_loan branch = "Test Employee Branch" employee = make_employee("*****@*****.**") company = erpnext.get_default_company() holiday_list = make_holiday("test holiday for loan") if not frappe.db.exists('Salary Component', 'Basic Salary'): frappe.get_doc({ 'doctype': 'Salary Component', 'salary_component': 'Basic Salary', 'salary_component_abbr': 'BS', 'type': 'Earning', 'accounts': [{ 'company': company, 'default_account': frappe.db.get_value('Account', {'company': company, 'root_type': 'Expense', 'account_type': ''}, 'name') }] }).insert() if not frappe.db.get_value('Salary Component Account', {'parent': 'Basic Salary', 'company': company}): salary_component = frappe.get_doc('Salary Component', 'Basic Salary') salary_component.append('accounts', { 'company': company, 'default_account': 'Salary - WP' }) company_doc = frappe.get_doc('Company', company) if not company_doc.default_payroll_payable_account: company_doc.default_payroll_payable_account = frappe.db.get_value('Account', {'company': company, 'root_type': 'Liability', 'account_type': ''}, 'name') company_doc.save() if not frappe.db.exists('Branch', branch): frappe.get_doc({ 'doctype': 'Branch', 'branch': branch }).insert() employee_doc = frappe.get_doc('Employee', employee) employee_doc.branch = branch employee_doc.holiday_list = holiday_list employee_doc.save() employee_loan = create_employee_loan(employee, "Personal Loan", 280000, "Repay Over Number of Periods", 20) employee_loan.repay_from_salary = 1 employee_loan.submit() salary_strcture = "Test Salary Structure for Loan" if not frappe.db.exists('Salary Structure', salary_strcture): salary_strcture = make_salary_structure(salary_strcture, [{ 'employee': employee, 'from_date': '2017-01-01', 'base': 30000 }]) salary_strcture = frappe.get_doc('Salary Structure', salary_strcture) salary_strcture.set('earnings', [{ 'salary_component': 'Basic Salary', 'abbr': 'BS', 'amount_based_on_formula':1, 'formula': 'base*.5' }]) salary_strcture.save() dates = get_start_end_dates('Monthly', nowdate()) make_payroll_entry(start_date=dates.start_date, end_date=dates.end_date, branch=branch) name = frappe.db.get_value('Salary Slip', {'posting_date': nowdate(), 'employee': employee}, 'name') salary_slip = frappe.get_doc('Salary Slip', name) for row in salary_slip.loans: if row.employee_loan == employee_loan.name: interest_amount = (280000 * 8.4)/(12*100) principal_amount = employee_loan.monthly_repayment_amount - interest_amount self.assertEqual(row.interest_amount, interest_amount) self.assertEqual(row.principal_amount, principal_amount) self.assertEqual(row.total_payment, interest_amount + principal_amount) if salary_slip.docstatus == 0: frappe.delete_doc('Salary Slip', name) employee_loan.cancel() frappe.delete_doc('Employee Loan', employee_loan.name)
def setUp(self): make_employee("*****@*****.**") make_employee("*****@*****.**") create_payroll_period() create_exemption_category() frappe.db.sql("""delete from `tabEmployee Tax Exemption Declaration`""")