test: validate tax based expense claim gl entries
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.json b/erpnext/hr/doctype/expense_claim/expense_claim.json
index 7b0d494..db85037 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.json
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.json
@@ -20,12 +20,12 @@
   "taxes",
   "transactions_section",
   "total_sanctioned_amount",
-  "total_claimed_amount",
+  "total_taxes_and_charges",
   "total_advance_amount",
   "column_break_17",
-  "total_amount_reimbursed",
-  "total_taxes_and_charges",
   "grand_total",
+  "total_claimed_amount",
+  "total_amount_reimbursed",
   "section_break_16",
   "posting_date",
   "vehicle_log",
@@ -360,7 +360,7 @@
  "icon": "fa fa-money",
  "idx": 1,
  "is_submittable": 1,
- "modified": "2019-06-12 15:35:09.092603",
+ "modified": "2019-06-12 20:00:25.734108",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Expense Claim",
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 7f660a4..caeb2dd 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -176,7 +176,6 @@
 	def add_tax_gl_entries(self, gl_entries):
 		# tax table gl entries
 		for tax in self.get("taxes"):
-			account_currency = get_account_currency(tax.account_head)
 			gl_entries.append(
 				self.get_gl_dict({
 					"account": tax.account_head,
diff --git a/erpnext/hr/doctype/expense_claim/test_expense_claim.py b/erpnext/hr/doctype/expense_claim/test_expense_claim.py
index 6fc2a83..a42209f 100644
--- a/erpnext/hr/doctype/expense_claim/test_expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/test_expense_claim.py
@@ -6,6 +6,7 @@
 import unittest
 from frappe.utils import random_string, nowdate
 from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry
+from erpnext.accounts.doctype.account.test_account import create_account
 
 test_records = frappe.get_test_records('Expense Claim')
 test_dependencies = ['Employee']
@@ -26,7 +27,7 @@
 		task_name = frappe.db.get_value("Task", {"project": "_Test Project 1"})
 		payable_account = get_payable_account("Wind Power LLC")
 
-		make_expense_claim(payable_account, 300, 200, "Wind Power LLC","Travel Expenses - WP", "_Test Project 1", task_name)
+		make_expense_claim(payable_account, 300, 200, "Wind Power LLC", "Travel Expenses - WP", "_Test Project 1", task_name)
 
 		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)
@@ -62,7 +63,8 @@
 
 	def test_expense_claim_gl_entry(self):
 		payable_account = get_payable_account("Wind Power LLC")
-		expense_claim = make_expense_claim(payable_account, 300, 200, "Wind Power LLC", "Travel Expenses - WP")
+		taxes = generate_taxes()
+		expense_claim = make_expense_claim(payable_account, 300, 200, "Wind Power LLC", "Travel Expenses - WP", do_not_submit=True, taxes=taxes)
 		expense_claim.submit()
 
 		gl_entries = frappe.db.sql("""select account, debit, credit
@@ -72,7 +74,8 @@
 		self.assertTrue(gl_entries)
 
 		expected_values = dict((d[0], d) for d in [
-			[payable_account, 0.0, 200.0],
+			['CGST - WP',10.0, 0.0],
+			[payable_account, 0.0, 210.0],
 			["Travel Expenses - WP", 200.0, 0.0]
 		])
 
@@ -100,22 +103,44 @@
 		self.assertEquals(len(gl_entry), 0)
 
 def get_payable_account(company):
-	return frappe.get_cached_value('Company',  company,  'default_payable_account')
+	return frappe.get_cached_value('Company', company, 'default_payable_account')
 
-def make_expense_claim(payable_account,amount, sanctioned_amount, company, account, project=None, task_name=None):
-	expense_claim = frappe.get_doc({
+def generate_taxes():
+	parent_account = frappe.db.get_value('Account',
+		{'company': "Wind Power LLC", 'is_group':1, 'account_type': 'Tax'},
+		'name')
+	account = create_account(company="Wind Power LLC", account_name="CGST", account_type="Tax", parent_account=parent_account)
+	return {'taxes':[{
+		"account_head": account,
+		"rate": 0,
+		"description": "CGST",
+		"tax_amount": 10,
+		"total": 210
+	}]}
+
+def make_expense_claim(payable_account, amount, sanctioned_amount, company, account, project=None, task_name=None, do_not_submit=False, taxes=None):
+	expense_claim = {
 		 "doctype": "Expense Claim",
 		 "employee": "_T-Employee-00001",
 		 "payable_account": payable_account,
 		 "approval_status": "Approved",
 		 "company": company,
 		 "expenses":
-			[{ "expense_type": "Travel", "default_account": account, "amount": amount, "sanctioned_amount": sanctioned_amount }]
-		})
+			[{"expense_type": "Travel",
+			"default_account": account,
+			"amount": amount,
+			"sanctioned_amount": sanctioned_amount}]}
+	if taxes:
+		expense_claim.update(taxes)
+
+	expense_claim = frappe.get_doc(expense_claim)
+
 	if project:
 		expense_claim.project = project
 	if task_name:
 		expense_claim.task = task_name
 
+	if do_not_submit:
+		return expense_claim
 	expense_claim.submit()
 	return expense_claim