expense claim test records
This commit is contained in:
parent
33d58ac431
commit
7f9ea3bf6a
@ -18,8 +18,9 @@ class ExpenseClaim(Document):
|
|||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
validate_fiscal_year(self.posting_date, self.fiscal_year, _("Posting Date"), self)
|
validate_fiscal_year(self.posting_date, self.fiscal_year, _("Posting Date"), self)
|
||||||
self.validate_sanctioned_amount()
|
|
||||||
self.validate_exp_details()
|
self.validate_exp_details()
|
||||||
|
self.validate_cost()
|
||||||
|
self.validate_sanctioned_amount()
|
||||||
self.validate_expense_approver()
|
self.validate_expense_approver()
|
||||||
self.validate_task()
|
self.validate_task()
|
||||||
set_employee_name(self)
|
set_employee_name(self)
|
||||||
@ -34,6 +35,15 @@ class ExpenseClaim(Document):
|
|||||||
if self.project:
|
if self.project:
|
||||||
self.update_task()
|
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):
|
def validate_exp_details(self):
|
||||||
if not self.get('expenses'):
|
if not self.get('expenses'):
|
||||||
frappe.throw(_("Please add expense voucher details"))
|
frappe.throw(_("Please add expense voucher details"))
|
||||||
|
|||||||
@ -8,4 +8,50 @@ import unittest
|
|||||||
test_records = frappe.get_test_records('Expense Claim')
|
test_records = frappe.get_test_records('Expense Claim')
|
||||||
|
|
||||||
class TestExpenseClaim(unittest.TestCase):
|
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