expense claim test records
This commit is contained in:
parent
33d58ac431
commit
7f9ea3bf6a
@ -18,8 +18,9 @@ class ExpenseClaim(Document):
|
||||
|
||||
def validate(self):
|
||||
validate_fiscal_year(self.posting_date, self.fiscal_year, _("Posting Date"), self)
|
||||
self.validate_sanctioned_amount()
|
||||
self.validate_exp_details()
|
||||
self.validate_cost()
|
||||
self.validate_sanctioned_amount()
|
||||
self.validate_expense_approver()
|
||||
self.validate_task()
|
||||
set_employee_name(self)
|
||||
@ -33,6 +34,15 @@ class ExpenseClaim(Document):
|
||||
def on_cancel(self):
|
||||
if self.project:
|
||||
self.update_task()
|
||||
|
||||
def validate_cost(self):
|
||||
total_claimed_amount = 0
|
||||
total_sanctioned_amount = 0
|
||||
for d in self.expenses:
|
||||
total_claimed_amount += d.claim_amount
|
||||
total_sanctioned_amount += d.sanctioned_amount
|
||||
self.total_claimed_amount = total_claimed_amount
|
||||
self.total_sanctioned_amount = total_sanctioned_amount
|
||||
|
||||
def validate_exp_details(self):
|
||||
if not self.get('expenses'):
|
||||
|
@ -8,4 +8,50 @@ import unittest
|
||||
test_records = frappe.get_test_records('Expense Claim')
|
||||
|
||||
class TestExpenseClaim(unittest.TestCase):
|
||||
pass
|
||||
def test_project_costing(self):
|
||||
frappe.db.sql("delete from `tabTask`")
|
||||
frappe.db.sql("delete from `tabProject`")
|
||||
|
||||
frappe.get_doc({
|
||||
"project_name": "_Test Project 1",
|
||||
"doctype": "Project",
|
||||
"tasks" :
|
||||
[{ "title": "_Test Project Task 1", "status": "Open" }]
|
||||
}).save()
|
||||
|
||||
task_name = frappe.db.get_value("Task",{"project": "_Test Project 1"})
|
||||
expense_claim = frappe.get_doc({
|
||||
"doctype": "Expense Claim",
|
||||
"employee": "_T-Employee-0001",
|
||||
"posting_date": "2015-07-07",
|
||||
"fiscal_year": "_Test Fiscal Year 2015",
|
||||
"approval_status": "Approved",
|
||||
"project": "_Test Project 1",
|
||||
"task": task_name,
|
||||
"expenses":
|
||||
[{ "expense_type": "Food", "claim_amount": 300, "sanctioned_amount": 200 }]
|
||||
})
|
||||
expense_claim.submit()
|
||||
|
||||
self.assertEqual(frappe.db.get_value("Task", task_name, "total_expense_claim"), 200)
|
||||
self.assertEqual(frappe.db.get_value("Project", "_Test Project 1", "total_expense_claim"), 200)
|
||||
|
||||
expense_claim2 = frappe.get_doc({
|
||||
"doctype": "Expense Claim",
|
||||
"employee": "_T-Employee-0001",
|
||||
"posting_date": "2015-07-07",
|
||||
"approval_status": "Approved",
|
||||
"project": "_Test Project 1",
|
||||
"task": task_name,
|
||||
"expenses":
|
||||
[{ "expense_type": "Food", "claim_amount": 600, "sanctioned_amount": 500 }]
|
||||
})
|
||||
expense_claim2.submit()
|
||||
|
||||
self.assertEqual(frappe.db.get_value("Task", task_name, "total_expense_claim"), 700)
|
||||
self.assertEqual(frappe.db.get_value("Project", "_Test Project 1", "total_expense_claim"), 700)
|
||||
|
||||
expense_claim2.cancel()
|
||||
|
||||
self.assertEqual(frappe.db.get_value("Task", task_name, "total_expense_claim"), 200)
|
||||
self.assertEqual(frappe.db.get_value("Project", "_Test Project 1", "total_expense_claim"), 200)
|
||||
|
Loading…
x
Reference in New Issue
Block a user