Travis test fixes for leave application (#13790)

* test fix

* expense claim test fix

* fix payroll entry test case
This commit is contained in:
Shreya Shah 2018-04-30 11:14:56 +05:30 committed by Nabin Hait
parent 3cd4fce710
commit 05ad2802c6
4 changed files with 41 additions and 26 deletions

View File

@ -77,9 +77,27 @@ class TestExpenseClaim(unittest.TestCase):
]) ])
for gle in gl_entries: for gle in gl_entries:
self.assertEqual(expected_values[gle.account][0], gle.account) self.assertEquals(expected_values[gle.account][0], gle.account)
self.assertEqual(expected_values[gle.account][1], gle.debit) self.assertEquals(expected_values[gle.account][1], gle.debit)
self.assertEqual(expected_values[gle.account][2], gle.credit) self.assertEquals(expected_values[gle.account][2], gle.credit)
def test_rejected_expense_claim(self):
payable_account = get_payable_account("Wind Power LLC")
expense_claim = frappe.get_doc({
"doctype": "Expense Claim",
"employee": "_T-Employee-00001",
"payable_account": payable_account,
"approval_status": "Rejected",
"expenses":
[{ "expense_type": "Travel", "default_account": "Travel Expenses - WP", "claim_amount": 300, "sanctioned_amount": 200 }]
})
expense_claim.submit()
self.assertEquals(expense_claim.status, 'Rejected')
self.assertEquals(expense_claim.total_sanctioned_amount, 0.0)
gl_entry = frappe.get_all('GL Entry', {'voucher_type': 'Expense Claim', 'voucher_no': expense_claim.name})
self.assertEquals(len(gl_entry), 0)
def get_payable_account(company): def get_payable_account(company):
return frappe.db.get_value('Company', company, 'default_payable_account') return frappe.db.get_value('Company', company, 'default_payable_account')
@ -89,6 +107,7 @@ def make_expense_claim(payable_account,claim_amount, sanctioned_amount, company,
"doctype": "Expense Claim", "doctype": "Expense Claim",
"employee": "_T-Employee-00001", "employee": "_T-Employee-00001",
"payable_account": payable_account, "payable_account": payable_account,
"approval_status": "Approved",
"company": company, "company": company,
"expenses": "expenses":
[{ "expense_type": "Travel", "default_account": account, "claim_amount": claim_amount, "sanctioned_amount": sanctioned_amount }] [{ "expense_type": "Travel", "default_account": account, "claim_amount": claim_amount, "sanctioned_amount": sanctioned_amount }]
@ -100,5 +119,3 @@ def make_expense_claim(payable_account,claim_amount, sanctioned_amount, company,
expense_claim.submit() expense_claim.submit()
return expense_claim return expense_claim

View File

@ -232,24 +232,24 @@ class LeaveApplication(Document):
}) })
def notify_leave_approver(self): def notify_leave_approver(self):
if self.leave_approver:
parent_doc = frappe.get_doc('Leave Application', self.name)
args = parent_doc.as_dict()
parent_doc = frappe.get_doc('Leave Application', self.name) template = frappe.db.get_single_value('HR Settings', 'leave_approval_notification_template')
args = parent_doc.as_dict() if not template:
frappe.msgprint(_("Please set default template for Leave Approval Notification in HR Settings."))
return
email_template = frappe.get_doc("Email Template", template)
message = frappe.render_template(email_template.response, args)
template = frappe.db.get_single_value('HR Settings', 'leave_approval_notification_template') self.notify({
if not template: # for post in messages
frappe.msgprint(_("Please set default template for Leave Approval Notification in HR Settings.")) "message": message,
return "message_to": self.leave_approver,
email_template = frappe.get_doc("Email Template", template) # for email
message = frappe.render_template(email_template.response, args) "subject": email_template.subject
})
self.notify({
# for post in messages
"message": message,
"message_to": self.leave_approver,
# for email
"subject": email_template.subject
})
def notify(self, args): def notify(self, args):
args = frappe._dict(args) args = frappe._dict(args)

View File

@ -49,9 +49,6 @@ class TestLeaveApplication(unittest.TestCase):
def tearDown(self): def tearDown(self):
frappe.set_user("Administrator") frappe.set_user("Administrator")
# so that this test doesn't affect other tests
frappe.db.sql("""delete from `tabEmployee Leave Approver`""")
def _clear_roles(self): def _clear_roles(self):
frappe.db.sql("""delete from `tabHas Role` where parent in frappe.db.sql("""delete from `tabHas Role` where parent in
("test@example.com", "test1@example.com", "test2@example.com")""") ("test@example.com", "test1@example.com", "test2@example.com")""")
@ -80,6 +77,7 @@ class TestLeaveApplication(unittest.TestCase):
application = self.get_application(_test_records[0]) application = self.get_application(_test_records[0])
application.insert() application.insert()
application.status = "Approved"
self.assertRaises(LeaveDayBlockedError, application.submit) self.assertRaises(LeaveDayBlockedError, application.submit)
frappe.set_user("test1@example.com") frappe.set_user("test1@example.com")
@ -219,7 +217,7 @@ class TestLeaveApplication(unittest.TestCase):
frappe.set_user("test1@example.com") frappe.set_user("test1@example.com")
application.insert() application.insert()
application.status = "Approved"
frappe.set_user("test@example.com") frappe.set_user("test@example.com")
self.assertRaises(LeaveDayBlockedError, application.submit) self.assertRaises(LeaveDayBlockedError, application.submit)

View File

@ -57,7 +57,7 @@ class TestPayrollEntry(unittest.TestCase):
salary_component = frappe.get_doc('Salary Component', 'Basic Salary') salary_component = frappe.get_doc('Salary Component', 'Basic Salary')
salary_component.append('accounts', { salary_component.append('accounts', {
'company': company, 'company': company,
'default_account': 'Salary - WP' 'default_account': "Salary - " + frappe.db.get_value('Company', company, 'abbr')
}) })
company_doc = frappe.get_doc('Company', company) company_doc = frappe.get_doc('Company', company)