diff --git a/.travis.yml b/.travis.yml
index fd26535..1e78ceb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,12 +19,12 @@
 
 script:
     cd ./test_sites/ &&
-    frappe --reinstall test_site &&
-    frappe --install_app erpnext test_site --verbose &&
-    frappe --request '?cmd=erpnext.setup.page.setup_wizard.setup_wizard.setup_account&currency=USD&first_name=Test&last_name=User&company_name=Wind+Power+LLC&timezone=America/New_York&company_abbr=WP&industry=Manufacturing&country=United States&fy_start_date=2014-01-01&fy_end_date=2014-12-31&language=english&company_tagline=Testing&email=test@erpnext.com&password=test' test_site &&
-    frappe --verbose --run_tests test_site --app erpnext
+	frappe --use test_site &&
+    frappe --reinstall &&
+    frappe --install_app erpnext --verbose &&
+    frappe --verbose --run_tests --app erpnext
 
 before_script:
-  - mysql -e 'create database travis' &&
-  - echo "USE mysql;\nUPDATE user SET password=PASSWORD('travis') WHERE user='travis';\nFLUSH PRIVILEGES;\n" | mysql -u root
+  - mysql -e 'create database test_site' &&
+  - echo "USE mysql;\nUPDATE user SET password=PASSWORD('test_site') WHERE user='test_site';\nFLUSH PRIVILEGES;\n" | mysql -u root
 
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index e72c27e..3c73d1f 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -33,7 +33,6 @@
 	def validate(self):
 		self.validate_master_name()
 		self.validate_parent()
-		self.validate_duplicate_account()
 		self.validate_root_details()
 		self.validate_mandatory()
 		self.validate_warehouse_account()
@@ -61,12 +60,6 @@
 			if par["report_type"]:
 				self.report_type = par["report_type"]
 
-	def validate_duplicate_account(self):
-		if self.get('__islocal') or not self.name:
-			company_abbr = frappe.db.get_value("Company", self.company, "abbr")
-			if frappe.db.exists("Account", (self.account_name + " - " + company_abbr)):
-				throw(_("Account {0} already exists").format(self.account_name))
-
 	def validate_root_details(self):
 		#does not exists parent
 		if frappe.db.exists("Account", self.name):
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py
index b20cbe9..0cc9918 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.py
+++ b/erpnext/accounts/doctype/cost_center/cost_center.py
@@ -61,15 +61,6 @@
 				check_acc_list.append([d.account, d.fiscal_year])
 
 	def validate(self):
-		"""
-			Cost Center name must be unique
-		"""
-		if ((self.get("__islocal") or not self.name) and
-			frappe.db.sql("select name from `tabCost Center` where cost_center_name=%s and company=%s",
-				(self.cost_center_name, self.company))
-			):
-			msgprint(_("Cost Center Name already exists"), raise_exception=1)
-
 		self.validate_mandatory()
 		self.validate_budget_details()
 
diff --git a/erpnext/accounts/doctype/pos_setting/test_records.json b/erpnext/accounts/doctype/pos_setting/test_records.json
index f507162..0d382a7 100644
--- a/erpnext/accounts/doctype/pos_setting/test_records.json
+++ b/erpnext/accounts/doctype/pos_setting/test_records.json
@@ -1,16 +1,16 @@
 [
  {
-  "cash_bank_account": "_Test Account Bank Account - _TC", 
-  "company": "_Test Company", 
-  "cost_center": "_Test Cost Center - _TC", 
-  "currency": "INR", 
-  "doctype": "POS Setting", 
-  "expense_account": "_Test Account Cost for Goods Sold - _TC", 
-  "income_account": "Sales - _TC", 
-  "name": "_Test POS Setting", 
-  "naming_series": "_T-Sales Invoice-", 
-  "selling_price_list": "_Test Price List", 
-  "territory": "_Test Territory", 
+  "cash_bank_account": "_Test Account Bank Account - _TC",
+  "company": "_Test Company",
+  "cost_center": "_Test Cost Center - _TC",
+  "currency": "INR",
+  "doctype": "POS Setting",
+  "expense_account": "_Test Account Cost for Goods Sold - _TC",
+  "income_account": "Sales - _TC",
+  "name": "_Test POS Setting",
+  "naming_series": "_T-POS Setting-",
+  "selling_price_list": "_Test Price List",
+  "territory": "_Test Territory",
   "warehouse": "_Test Warehouse - _TC"
  }
-]
\ No newline at end of file
+]
diff --git a/erpnext/hooks.txt b/erpnext/hooks.txt
index d84b369..b4e6b8e 100644
--- a/erpnext/hooks.txt
+++ b/erpnext/hooks.txt
@@ -21,6 +21,7 @@
 mail_footer = erpnext.startup.mail_footer
 
 on_session_creation = erpnext.startup.event_handlers.on_session_creation
+before_tests = erpnext.setup.utils.before_tests
 
 # Bean Events
 # -------------------------
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.js b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
index 1e376da..577fcf4 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.js
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
@@ -1,62 +1,37 @@
 // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-// ****************************************** onload ********************************************************
 cur_frm.cscript.onload = function(doc, dt, dn) {
   if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
 }
 
 
-// ************************************** client triggers ***************************************************
-// ---------
-// employee
-// ---------
 cur_frm.add_fetch('employee','employee_name','employee_name');
 
 cur_frm.cscript.employee = function(doc, dt, dn) {
   calculate_total_leaves_allocated(doc, dt, dn);
 }
 
-// -----------
-// leave type
-// -----------
 cur_frm.cscript.leave_type = function(doc, dt, dn) {
   calculate_total_leaves_allocated(doc, dt, dn);
 }
 
-// ------------
-// fiscal year
-// ------------
 cur_frm.cscript.fiscal_year = function(doc, dt, dn) {
   calculate_total_leaves_allocated(doc, dt, dn);
 }
 
-// -------------------------------
-// include previous leave balance
-// -------------------------------
 cur_frm.cscript.carry_forward = function(doc, dt, dn) {
   calculate_total_leaves_allocated(doc, dt, dn);
 }
 
-// -----------------------
-// previous balance leaves
-// -----------------------
 cur_frm.cscript.carry_forwarded_leaves = function(doc, dt, dn) {
   set_multiple(dt,dn,{total_leaves_allocated : flt(doc.carry_forwarded_leaves)+flt(doc.new_leaves_allocated)});
 }
 
-// ---------------------
-// new leaves allocated
-// ---------------------
 cur_frm.cscript.new_leaves_allocated = function(doc, dt, dn) {
   set_multiple(dt,dn,{total_leaves_allocated : flt(doc.carry_forwarded_leaves)+flt(doc.new_leaves_allocated)});
 }
 
-
-// ****************************************** utilities ******************************************************
-// ---------------------------------
-// calculate total leaves allocated
-// ---------------------------------
 calculate_total_leaves_allocated = function(doc, dt, dn) {
   if(cint(doc.carry_forward) == 1 && doc.leave_type && doc.fiscal_year && doc.employee){
     return get_server_fields('get_carry_forwarded_leaves','','', doc, dt, dn, 1);
@@ -69,5 +44,5 @@
 cur_frm.fields_dict.employee.get_query = function(doc,cdt,cdn) {
   return{
     query: "erpnext.controllers.queries.employee_query"
-  } 
-}
\ No newline at end of file
+  }
+}
diff --git a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
new file mode 100644
index 0000000..2c73323
--- /dev/null
+++ b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
@@ -0,0 +1,3 @@
+import frappe
+
+test_records = frappe.get_test_records('Leave Allocation')
diff --git a/erpnext/hr/doctype/leave_allocation/test_records.json b/erpnext/hr/doctype/leave_allocation/test_records.json
new file mode 100644
index 0000000..036dc49
--- /dev/null
+++ b/erpnext/hr/doctype/leave_allocation/test_records.json
@@ -0,0 +1,18 @@
+[
+ {
+  "docstatus": 1,
+  "doctype": "Leave Allocation",
+  "employee": "_T-Employee-0001",
+  "fiscal_year": "_Test Fiscal Year 2013",
+  "leave_type": "_Test Leave Type",
+  "new_leaves_allocated": 15
+ },
+ {
+  "docstatus": 1,
+  "doctype": "Leave Allocation",
+  "employee": "_T-Employee-0002",
+  "fiscal_year": "_Test Fiscal Year 2013",
+  "leave_type": "_Test Leave Type",
+  "new_leaves_allocated": 15
+ }
+]
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 89c9833..91fd583 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -6,20 +6,56 @@
 
 from erpnext.hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError
 
+test_dependencies = ["Leave Allocation", "Leave Block List"]
+
+_test_records = [
+ {
+  "company": "_Test Company",
+  "doctype": "Leave Application",
+  "employee": "_T-Employee-0001",
+  "fiscal_year": "_Test Fiscal Year 2013",
+  "from_date": "2013-05-01",
+  "leave_type": "_Test Leave Type",
+  "posting_date": "2013-01-02",
+  "to_date": "2013-05-05"
+ },
+ {
+  "company": "_Test Company",
+  "doctype": "Leave Application",
+  "employee": "_T-Employee-0002",
+  "fiscal_year": "_Test Fiscal Year 2013",
+  "from_date": "2013-05-01",
+  "leave_type": "_Test Leave Type",
+  "posting_date": "2013-01-02",
+  "to_date": "2013-05-05"
+ },
+ {
+  "company": "_Test Company",
+  "doctype": "Leave Application",
+  "employee": "_T-Employee-0001",
+  "fiscal_year": "_Test Fiscal Year 2013",
+  "from_date": "2013-01-15",
+  "leave_type": "_Test Leave Type LWP",
+  "posting_date": "2013-01-02",
+  "to_date": "2013-01-15"
+ }
+]
+
+
 class TestLeaveApplication(unittest.TestCase):
 	def tearDown(self):
 		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):
-		frappe.db.sql("""delete from `tabUserRole` where parent in 
+		frappe.db.sql("""delete from `tabUserRole` where parent in
 			("test@example.com", "test1@example.com", "test2@example.com")""")
-			
+
 	def _clear_applications(self):
 		frappe.db.sql("""delete from `tabLeave Application`""")
-		
+
 	def _add_employee_leave_approver(self, employee, leave_approver):
 		temp_session_user = frappe.session.user
 		frappe.set_user("Administrator")
@@ -30,7 +66,7 @@
 		})
 		employee.save()
 		frappe.set_user(temp_session_user)
-	
+
 	def get_application(self, doc):
 		application = frappe.copy_doc(doc)
 		application.from_date = "2013-01-01"
@@ -39,144 +75,145 @@
 
 	def test_block_list(self):
 		self._clear_roles()
-		
+
 		from frappe.utils.user import add_role
 		add_role("test1@example.com", "HR User")
-			
-		frappe.db.set_value("Department", "_Test Department", 
+
+		frappe.db.set_value("Department", "_Test Department",
 			"leave_block_list", "_Test Leave Block List")
-		
-		application = self.get_application(test_records[1])
+
+		application = self.get_application(_test_records[0])
 		application.insert()
 		application.status = "Approved"
 		self.assertRaises(LeaveDayBlockedError, application.submit)
-		
+
 		frappe.set_user("test1@example.com")
 
 		# clear other applications
 		frappe.db.sql("delete from `tabLeave Application`")
-		
-		application = self.get_application(test_records[1])
+
+		application = self.get_application(_test_records[0])
 		self.assertTrue(application.insert())
-		
+
 	def test_overlap(self):
 		self._clear_roles()
 		self._clear_applications()
-		
+
 		from frappe.utils.user import add_role
 		add_role("test@example.com", "Employee")
 		add_role("test2@example.com", "Leave Approver")
-		
+
 		frappe.set_user("test@example.com")
-		application = self.get_application(test_records[1])
+		application = self.get_application(_test_records[0])
 		application.leave_approver = "test2@example.com"
 		application.insert()
-		
-		application = self.get_application(test_records[1])
+
+		application = self.get_application(_test_records[0])
 		application.leave_approver = "test2@example.com"
 		self.assertRaises(OverlapError, application.insert)
-		
+
 	def test_global_block_list(self):
 		self._clear_roles()
 
 		from frappe.utils.user import add_role
 		add_role("test1@example.com", "Employee")
 		add_role("test@example.com", "Leave Approver")
-				
-		application = self.get_application(test_records[3])
+		add_role("test@example.com", "HR Manager")
+
+		application = self.get_application(_test_records[1])
 		application.leave_approver = "test@example.com"
-		
-		frappe.db.set_value("Leave Block List", "_Test Leave Block List", 
+
+		frappe.db.set_value("Leave Block List", "_Test Leave Block List",
 			"applies_to_all_departments", 1)
-		frappe.db.set_value("Employee", "_T-Employee-0002", "department", 
+		frappe.db.set_value("Employee", "_T-Employee-0002", "department",
 			"_Test Department")
-		
+
 		frappe.set_user("test1@example.com")
 		application.insert()
-		
+
 		frappe.set_user("test@example.com")
 		application.status = "Approved"
 		self.assertRaises(LeaveDayBlockedError, application.submit)
-		
-		frappe.db.set_value("Leave Block List", "_Test Leave Block List", 
+
+		frappe.db.set_value("Leave Block List", "_Test Leave Block List",
 			"applies_to_all_departments", 0)
-		
+
 	def test_leave_approval(self):
 		self._clear_roles()
-		
+
 		from frappe.utils.user import add_role
 		add_role("test@example.com", "Employee")
 		add_role("test1@example.com", "Leave Approver")
 		add_role("test2@example.com", "Leave Approver")
-		
+
 		self._test_leave_approval_basic_case()
 		self._test_leave_approval_invalid_leave_approver_insert()
 		self._test_leave_approval_invalid_leave_approver_submit()
 		self._test_leave_approval_valid_leave_approver_insert()
-		
+
 	def _test_leave_approval_basic_case(self):
 		self._clear_applications()
-		
+
 		# create leave application as Employee
 		frappe.set_user("test@example.com")
-		application = self.get_application(test_records[1])
+		application = self.get_application(_test_records[0])
 		application.leave_approver = "test1@example.com"
 		application.insert()
-		
+
 		# submit leave application by Leave Approver
 		frappe.set_user("test1@example.com")
 		application.status = "Approved"
 		application.submit()
 		self.assertEqual(frappe.db.get_value("Leave Application", application.name,
 			"docstatus"), 1)
-		
+
 	def _test_leave_approval_invalid_leave_approver_insert(self):
 		from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
-		
+
 		self._clear_applications()
-		
+
 		# add a different leave approver in the employee's list
 		# should raise exception if not a valid leave approver
 		self._add_employee_leave_approver("_T-Employee-0001", "test2@example.com")
-		
+
 		# TODO - add test2@example.com leave approver in employee's leave approvers list
-		application = self.get_application(test_records[1])
+		application = self.get_application(_test_records[0])
 		frappe.set_user("test@example.com")
-		
+
 		application.leave_approver = "test1@example.com"
 		self.assertRaises(InvalidLeaveApproverError, application.insert)
-		
+
 		frappe.db.sql("""delete from `tabEmployee Leave Approver` where parent=%s""",
 			"_T-Employee-0001")
-		
+
 	def _test_leave_approval_invalid_leave_approver_submit(self):
 		self._clear_applications()
 		self._add_employee_leave_approver("_T-Employee-0001", "test2@example.com")
-		
+
 		# create leave application as employee
 		# but submit as invalid leave approver - should raise exception
 		frappe.set_user("test@example.com")
-		application = self.get_application(test_records[1])
+		application = self.get_application(_test_records[0])
 		application.leave_approver = "test2@example.com"
 		application.insert()
 		frappe.set_user("test1@example.com")
 		application.status = "Approved"
-		
+
 		from erpnext.hr.doctype.leave_application.leave_application import LeaveApproverIdentityError
 		self.assertRaises(LeaveApproverIdentityError, application.submit)
 
 		frappe.db.sql("""delete from `tabEmployee Leave Approver` where parent=%s""",
 			"_T-Employee-0001")
-			
+
 	def _test_leave_approval_valid_leave_approver_insert(self):
 		self._clear_applications()
 		self._add_employee_leave_approver("_T-Employee-0001", "test2@example.com")
-		
+
 		original_department = frappe.db.get_value("Employee", "_T-Employee-0001", "department")
 		frappe.db.set_value("Employee", "_T-Employee-0001", "department", None)
-		
+
 		frappe.set_user("test@example.com")
-		application = self.get_application(test_records[1])
+		application = self.get_application(_test_records[0])
 		application.leave_approver = "test2@example.com"
 		application.insert()
 
@@ -186,12 +223,8 @@
 		application.submit()
 		self.assertEqual(frappe.db.get_value("Leave Application", application.name,
 			"docstatus"), 1)
-			
+
 		frappe.db.sql("""delete from `tabEmployee Leave Approver` where parent=%s""",
 			"_T-Employee-0001")
-		
-		frappe.db.set_value("Employee", "_T-Employee-0001", "department", original_department)
-		
-test_dependencies = ["Leave Block List"]		
 
-test_records = frappe.get_test_records('Leave Application')
\ No newline at end of file
+		frappe.db.set_value("Employee", "_T-Employee-0001", "department", original_department)
diff --git a/erpnext/hr/doctype/leave_application/test_records.json b/erpnext/hr/doctype/leave_application/test_records.json
deleted file mode 100644
index aac41fb..0000000
--- a/erpnext/hr/doctype/leave_application/test_records.json
+++ /dev/null
@@ -1,48 +0,0 @@
-[
- {
-  "docstatus": 1, 
-  "doctype": "Leave Allocation", 
-  "employee": "_T-Employee-0001", 
-  "fiscal_year": "_Test Fiscal Year 2013", 
-  "leave_type": "_Test Leave Type", 
-  "new_leaves_allocated": 15
- }, 
- {
-  "company": "_Test Company", 
-  "doctype": "Leave Application", 
-  "employee": "_T-Employee-0001", 
-  "fiscal_year": "_Test Fiscal Year 2013", 
-  "from_date": "2013-05-01", 
-  "leave_type": "_Test Leave Type", 
-  "posting_date": "2013-01-02", 
-  "to_date": "2013-05-05"
- }, 
- {
-  "docstatus": 1, 
-  "doctype": "Leave Allocation", 
-  "employee": "_T-Employee-0002", 
-  "fiscal_year": "_Test Fiscal Year 2013", 
-  "leave_type": "_Test Leave Type", 
-  "new_leaves_allocated": 15
- }, 
- {
-  "company": "_Test Company", 
-  "doctype": "Leave Application", 
-  "employee": "_T-Employee-0002", 
-  "fiscal_year": "_Test Fiscal Year 2013", 
-  "from_date": "2013-05-01", 
-  "leave_type": "_Test Leave Type", 
-  "posting_date": "2013-01-02", 
-  "to_date": "2013-05-05"
- }, 
- {
-  "company": "_Test Company", 
-  "doctype": "Leave Application", 
-  "employee": "_T-Employee-0001", 
-  "fiscal_year": "_Test Fiscal Year 2013", 
-  "from_date": "2013-01-15", 
-  "leave_type": "_Test Leave Type LWP", 
-  "posting_date": "2013-01-02", 
-  "to_date": "2013-01-15"
- }
-]
\ No newline at end of file
diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.py b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
index e8c978e..28a9f3f 100644
--- a/erpnext/hr/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
@@ -9,14 +9,14 @@
 		frappe.db.sql("""delete from `tabLeave Application`""")
 		frappe.db.sql("""delete from `tabSalary Slip`""")
 		from erpnext.hr.doctype.leave_application.test_leave_application import test_records as leave_applications
-		la = frappe.copy_doc(leave_applications[4])
+		la = frappe.copy_doc(leave_applications[2])
 		la.insert()
 		la.status = "Approved"
 		la.submit()
-		
+
 	def tearDown(self):
 		frappe.db.set_value("HR Settings", "HR Settings", "include_holidays_in_total_working_days", 0)
-		
+
 	def test_salary_slip_with_holidays_included(self):
 		frappe.db.set_value("HR Settings", "HR Settings", "include_holidays_in_total_working_days", 1)
 		ss = frappe.copy_doc(test_records[0])
@@ -29,7 +29,7 @@
 		self.assertEquals(ss.deduction_details[1].d_modified_amount, 48.39)
 		self.assertEquals(ss.gross_pay, 15016.13)
 		self.assertEquals(ss.net_pay, 14867.74)
-		
+
 	def test_salary_slip_with_holidays_excluded(self):
 		ss = frappe.copy_doc(test_records[0])
 		ss.insert()
@@ -44,4 +44,4 @@
 
 test_dependencies = ["Leave Application"]
 
-test_records = frappe.get_test_records('Salary Slip')
\ No newline at end of file
+test_records = frappe.get_test_records('Salary Slip')
diff --git a/erpnext/setup/utils.py b/erpnext/setup/utils.py
index efbc12f..a734ffd 100644
--- a/erpnext/setup/utils.py
+++ b/erpnext/setup/utils.py
@@ -3,8 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe import _, msgprint, throw
-import json
+from frappe import _, throw
 
 def get_company_currency(company):
 	currency = frappe.db.get_value("Company", company, "default_currency")
@@ -38,3 +37,30 @@
 		throw(_("Price List {0} is disabled").format(price_list))
 	else:
 		return {"price_list_currency": price_list_currency}
+
+def before_tests():
+	# complete setup if missing
+	from erpnext.setup.page.setup_wizard.setup_wizard import setup_account
+	if not frappe.get_list("Item Group"):
+		setup_account({
+			"currency"			:"USD",
+			"first_name"		:"Test",
+			"last_name"			:"User",
+			"company_name"		:"Wind Power LLC",
+			"timezone"			:"America/New_York",
+			"company_abbr"		:"WP",
+			"industry"			:"Manufacturing",
+			"country"			:"United States",
+			"fy_start_date"		:"2014-01-01",
+			"fy_end_date"		:"2014-12-31",
+			"language"			:"english",
+			"company_tagline"	:"Testing",
+			"email"				:"test@erpnext.com",
+			"password"			:"test"
+		})
+
+	frappe.db.sql("delete from `tabLeave Allocation`")
+	frappe.db.sql("delete from `tabLeave Application`")
+	frappe.db.sql("delete from `tabSalary Slip`")
+	frappe.db.sql("delete from `tabItem Price`")
+	frappe.db.commit()
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index a894ac1..c4ca77f 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -27,6 +27,8 @@
 	def validate(self):
 		if not self.stock_uom:
 			msgprint(_("Please enter default Unit of Measure"), raise_exception=1)
+		if self.image and not self.website_image:
+			self.website_image = self.image
 
 		self.check_warehouse_is_set_for_stock_item()
 		self.check_stock_uom_with_bin()
@@ -131,6 +133,7 @@
 			bom = frappe.db.sql("""select name from `tabBOM` where item = %s
 				and is_active = 1""", (self.name,))
 			if bom and bom[0][0]:
+				print self.name
 				frappe.throw(_("""Allow Bill of Materials should be 'Yes'. Because one or many active BOMs present for this item"""))
 
 	def fill_customer_code(self):
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 37886ce..183e3e5 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -190,6 +190,7 @@
 		})
 		stock_reco.insert()
 		stock_reco.submit()
+		frappe.db.commit()
 		return stock_reco
 
 	def insert_existing_sle(self, valuation_method):
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index 8cb920b..81e028e 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -56,7 +56,7 @@
 					ac_doc.ignore_permissions = True
 					ac_doc.insert()
 
-					msgprint(_("Account head {0} created"))
+					msgprint(_("Account head {0} created").format(ac_doc.name))
 
 	def validate_parent_account(self):
 		if not self.create_account_under:
diff --git a/erpnext/templates/includes/product_in_grid.html b/erpnext/templates/includes/product_in_grid.html
index 7edd0de..4c4be71 100644
--- a/erpnext/templates/includes/product_in_grid.html
+++ b/erpnext/templates/includes/product_in_grid.html
@@ -1,6 +1,6 @@
 <div class="col-sm-3">
 	<div style="height: 120px; overflow: hidden;">
-		<a href="{{ page_name }}">
+		<a href="{{ route or page_name }}">
 		{%- if website_image -%}
 		<img class="product-image" style="width: 80%; margin: auto;" src="{{ website_image }}">
 		{%- else -%}
diff --git a/erpnext/templates/includes/product_in_list.html b/erpnext/templates/includes/product_in_list.html
index 836781e..f5ae4dc 100644
--- a/erpnext/templates/includes/product_in_list.html
+++ b/erpnext/templates/includes/product_in_list.html
@@ -1,7 +1,7 @@
 <!-- TODO product listing -->
 <div class="container content">
 	<div style="height: 120px; overflow: hidden;">
-		<a href="{{ page_name }}">
+		<a href="{{ route or page_name }}">
 		{%- if website_image -%}
 		<img class="product-image" style="width: 80%; margin: auto;" src="{{ website_image }}">
 		{%- else -%}
@@ -10,6 +10,6 @@
 		</a>
 	</div>
 	<div style="height: 100px; overflow: hidden; font-size: 80%;">
-		<div><a href="{{ page_name }}">{{ item_name }}</a></div>
+		<div><a href="{{ route or page_name }}">{{ item_name }}</a></div>
 	</div>
 </div>
diff --git a/test_sites/test_site/site_config.json b/test_sites/test_site/site_config.json
index ef88f5e..05bf562 100644
--- a/test_sites/test_site/site_config.json
+++ b/test_sites/test_site/site_config.json
@@ -1,5 +1,5 @@
 {
- "db_name": "travis",
- "db_password": "travis",
+ "db_name": "test_frappe",
+ "db_password": "test_frappe",
  "mute_emails": 1
 }
