diff --git a/.travis.yml b/.travis.yml
index 602144c..43b4078 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -68,6 +68,12 @@
       script:
         - bench --verbose run-setup-wizard-ui-test
         - bench execute erpnext.setup.utils.enable_all_roles_and_domains
+        - bench run-ui-tests --app erpnext --test-list erpnext/tests/ui/tests2.txt
+      env: Client Side Test - 2
+    - # stage
+      script:
+        - bench --verbose run-setup-wizard-ui-test
+        - bench execute erpnext.setup.utils.enable_all_roles_and_domains
         - bench run-ui-tests --app erpnext --test-list erpnext/tests/ui/agriculture.txt
       env: Agriculture Client Side Test
     - # stage
diff --git a/erpnext/accounts/doctype/account/tests/test_account_with_number.js b/erpnext/accounts/doctype/account/tests/test_account_with_number.js
index dd30eb7..c03e278 100644
--- a/erpnext/accounts/doctype/account/tests/test_account_with_number.js
+++ b/erpnext/accounts/doctype/account/tests/test_account_with_number.js
@@ -46,7 +46,7 @@
 		},
 		() => frappe.timeout(.5),
 		() => frappe.click_button("Rename"),
-		() => frappe.timeout(1),
+		() => frappe.timeout(2),
 		() => {
 			assert.ok(cur_frm.doc.account_name=="Test Income", "account name remained same");
 			assert.ok(cur_frm.doc.account_number=="4030", "Account number updated to 4030");
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.js
index 0468cd9..db71a17 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.js
@@ -1,7 +1,7 @@
 QUnit.module('Purchase Invoice');
 
 QUnit.test("test purchase invoice", function(assert) {
-	assert.expect(4);
+	assert.expect(6);
 	let done = assert.async();
 	frappe.run_serially([
 		() => {
diff --git a/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_margin.js b/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_margin.js
index 60652c8..f1cb22a 100644
--- a/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_margin.js
+++ b/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_margin.js
@@ -11,7 +11,7 @@
 				{currency: 'USD'},
 				{items: [
 					[
-						{'item_code': 'Test Product 3'},
+						{'item_code': 'Test Product 4'},
 						{'delivery_date': frappe.datetime.add_days(frappe.defaults.get_default("year_end_date"), 1)},
 						{'qty': 1},
 						{'margin_type': 'Percentage'},
diff --git a/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_payment.js b/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_payment.js
index 14c0d55..890fb68 100644
--- a/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_payment.js
+++ b/erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_payment.js
@@ -44,7 +44,6 @@
 		() => { cur_frm.set_value('paid_to','Cash - '+frappe.get_abbr(frappe.defaults.get_default('Company')));},
 		() => {cur_frm.set_value('reference_no','TEST1234');},
 		() => {cur_frm.set_value('reference_date',frappe.datetime.add_days(frappe.datetime.nowdate(), 0));},
-		() => cur_frm.set_value("payment_schedule", []),
 		() => cur_frm.save(),
 		() => {
 			// get payment details
diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_last_purchase_rate.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_last_purchase_rate.js
index bd5881b..8ccf1b6 100644
--- a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_last_purchase_rate.js
+++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_last_purchase_rate.js
@@ -97,10 +97,12 @@
 		},
 
 		// enable allow_last_purchase_rate
-		() => frappe.tests.make('Buying Settings', [
-			// values to be set
-			{"disable_fetch_last_purchase_rate": 1}
-		]),
+		() => {
+			return frappe.tests.make('Buying Settings', [
+				// values to be set
+				{"disable_fetch_last_purchase_rate": 1}
+			]);
+		},
 
 		() => {
 			return frappe.tests.make('Purchase Order', [
diff --git a/erpnext/buying/doctype/supplier/test_supplier.js b/erpnext/buying/doctype/supplier/test_supplier.js
index 05ea044..51e3c09 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.js
+++ b/erpnext/buying/doctype/supplier/test_supplier.js
@@ -10,7 +10,6 @@
 				{supplier_type: 'Hardware'},
 				{country: 'India'},
 				{default_currency: 'INR'},
-				{credit_days_based_on: 'Fixed Days'},
 				{accounts: [
 					[
 						{'company': "For Testing"},
diff --git a/erpnext/crm/doctype/lead/test_lead.js b/erpnext/crm/doctype/lead/test_lead.js
deleted file mode 100644
index 0d92b4e..0000000
--- a/erpnext/crm/doctype/lead/test_lead.js
+++ /dev/null
@@ -1,92 +0,0 @@
-QUnit.module("sales");
-
-QUnit.test("test: lead", function (assert) {
-	assert.expect(10);
-	let done = assert.async();
-	let lead_name = frappe.utils.get_random(10);
-	frappe.run_serially([
-		// test lead creation
-		() => frappe.set_route("List", "Lead"),
-		() => frappe.new_doc("Lead"),
-		() => frappe.timeout(1),
-		() => cur_frm.set_value("lead_name", lead_name),
-		() => cur_frm.save(),
-		() => frappe.timeout(1),
-		() => {
-			assert.ok(cur_frm.doc.lead_name.includes(lead_name),
-				'name correctly set');
-			frappe.lead_name = cur_frm.doc.name;
-		},
-		// create address and contact
-		() => frappe.click_link('Address & Contact'),
-		() => frappe.click_button('New Address'),
-		() => frappe.timeout(1),
-		() => frappe.set_control('address_line1', 'Gateway'),
-		() => frappe.set_control('city', 'Mumbai'),
-		() => cur_frm.save(),
-		() => frappe.timeout(3),
-		() => assert.equal(frappe.get_route()[1], 'Lead',
-			'back to lead form'),
-		() => frappe.click_link('Address & Contact'),
-		() => assert.ok($('.address-box').text().includes('Mumbai'),
-			'city is seen in address box'),
-
-		// make opportunity
-		() => frappe.click_button('Make'),
-		() => frappe.click_link('Opportunity'),
-		() => frappe.timeout(2),
-		() => assert.equal(cur_frm.doc.lead, frappe.lead_name,
-			'lead name correctly mapped'),
-
-		() => done()
-	]);
-	frappe.run_serially([
-		// test lead creation
-		() => frappe.set_route("List", "Lead"),
-		() => frappe.new_doc("Lead"),
-		() => frappe.timeout(1),
-		() => cur_frm.set_value("organization_lead", "1"),
-		() => cur_frm.set_value("organization_name", lead_name),
-		() => cur_frm.save(),
-		() => frappe.timeout(1),
-		() => {
-			assert.ok(cur_frm.doc.lead_name.includes(lead_name),
-				'name correctly set');
-			frappe.lead_name = cur_frm.doc.name;
-		},
-		// create address and contact
-		() => frappe.click_link('Address & Contact'),
-		() => frappe.click_button('New Address'),
-		() => frappe.timeout(1),
-		() => frappe.set_control('address_line1', 'Gateway'),
-		() => frappe.set_control('city', 'Mumbai'),
-		() => cur_frm.save(),
-		() => frappe.timeout(3),
-		() => assert.equal(frappe.get_route()[1], 'Lead',
-			'back to lead form'),
-		() => frappe.click_link('Address & Contact'),
-		() => assert.ok($('.address-box').text().includes('Mumbai'),
-			'city is seen in address box'),
-
-		() => frappe.click_button('New Contact'),
-		() => frappe.timeout(1),
-		() => frappe.set_control('first_name', 'John'),
-		() => frappe.set_control('last_name', 'Doe'),
-		() => cur_frm.save(),
-		() => frappe.timeout(3),
-		() => assert.equal(frappe.get_route()[1], 'Lead',
-			'back to lead form'),
-		() => frappe.click_link('Address & Contact'),
-		() => assert.ok($('.address-box').text().includes('John'),
-			'contact is seen in contact box'),
-
-		// make customer
-		() => frappe.click_button('Make'),
-		() => frappe.click_link('customer'),
-		() => frappe.timeout(2),
-		() => assert.equal(cur_frm.doc.lead_name, frappe.lead_name,
-			'lead name correctly mapped'),
-
-		() => done()
-	]);
-});
diff --git a/erpnext/crm/doctype/lead/tests/test_lead_individual.js b/erpnext/crm/doctype/lead/tests/test_lead_individual.js
new file mode 100644
index 0000000..66d3337
--- /dev/null
+++ b/erpnext/crm/doctype/lead/tests/test_lead_individual.js
@@ -0,0 +1,43 @@
+QUnit.module("sales");
+
+QUnit.test("test: lead", function (assert) {
+	assert.expect(4);
+	let done = assert.async();
+	let lead_name = frappe.utils.get_random(10);
+	frappe.run_serially([
+		// test lead creation
+		() => frappe.set_route("List", "Lead"),
+		() => frappe.new_doc("Lead"),
+		() => frappe.timeout(1),
+		() => cur_frm.set_value("lead_name", lead_name),
+		() => cur_frm.save(),
+		() => frappe.timeout(1),
+		() => {
+			assert.ok(cur_frm.doc.lead_name.includes(lead_name),
+				'name correctly set');
+			frappe.lead_name = cur_frm.doc.name;
+		},
+		// create address and contact
+		() => frappe.click_link('Address & Contact'),
+		() => frappe.click_button('New Address'),
+		() => frappe.timeout(1),
+		() => frappe.set_control('address_line1', 'Gateway'),
+		() => frappe.set_control('city', 'Mumbai'),
+		() => cur_frm.save(),
+		() => frappe.timeout(3),
+		() => assert.equal(frappe.get_route()[1], 'Lead',
+			'back to lead form'),
+		() => frappe.click_link('Address & Contact'),
+		() => assert.ok($('.address-box').text().includes('Mumbai'),
+			'city is seen in address box'),
+
+		// make opportunity
+		() => frappe.click_button('Make'),
+		() => frappe.click_link('Opportunity'),
+		() => frappe.timeout(2),
+		() => assert.equal(cur_frm.doc.lead, frappe.lead_name,
+			'lead name correctly mapped'),
+
+		() => done()
+	]);
+});
diff --git a/erpnext/crm/doctype/lead/tests/test_lead_organization.js b/erpnext/crm/doctype/lead/tests/test_lead_organization.js
new file mode 100644
index 0000000..4395935
--- /dev/null
+++ b/erpnext/crm/doctype/lead/tests/test_lead_organization.js
@@ -0,0 +1,56 @@
+QUnit.module("sales");
+
+QUnit.test("test: lead", function (assert) {
+	assert.expect(5);
+	let done = assert.async();
+	let lead_name = frappe.utils.get_random(10);
+	frappe.run_serially([
+		// test lead creation
+		() => frappe.set_route("List", "Lead"),
+		() => frappe.new_doc("Lead"),
+		() => frappe.timeout(1),
+		() => cur_frm.set_value("organization_lead", "1"),
+		() => cur_frm.set_value("company_name", lead_name),
+		() => cur_frm.save(),
+		() => frappe.timeout(1),
+		() => {
+			assert.ok(cur_frm.doc.lead_name.includes(lead_name),
+				'name correctly set');
+			frappe.lead_name = cur_frm.doc.name;
+		},
+		// create address and contact
+		() => frappe.click_link('Address & Contact'),
+		() => frappe.click_button('New Address'),
+		() => frappe.timeout(1),
+		() => frappe.set_control('address_line1', 'Gateway'),
+		() => frappe.set_control('city', 'Mumbai'),
+		() => cur_frm.save(),
+		() => frappe.timeout(3),
+		() => assert.equal(frappe.get_route()[1], 'Lead',
+			'back to lead form'),
+		() => frappe.click_link('Address & Contact'),
+		() => assert.ok($('.address-box').text().includes('Mumbai'),
+			'city is seen in address box'),
+
+		() => frappe.click_button('New Contact'),
+		() => frappe.timeout(1),
+		() => frappe.set_control('first_name', 'John'),
+		() => frappe.set_control('last_name', 'Doe'),
+		() => cur_frm.save(),
+		() => frappe.timeout(3),
+		() => frappe.set_route('Form', 'Lead', cur_frm.doc.links[0].link_name),
+		() => frappe.timeout(1),
+		() => frappe.click_link('Address & Contact'),
+		() => assert.ok($('.address-box').text().includes('John'),
+			'contact is seen in contact box'),
+
+		// make customer
+		() => frappe.click_button('Make'),
+		() => frappe.click_link('Customer'),
+		() => frappe.timeout(2),
+		() => assert.equal(cur_frm.doc.lead_name, frappe.lead_name,
+			'lead name correctly mapped'),
+
+		() => done()
+	]);
+});
diff --git a/erpnext/education/doctype/assessment_group/test_assessment_group.js b/erpnext/education/doctype/assessment_group/test_assessment_group.js
index 93026d2..a127fd4 100644
--- a/erpnext/education/doctype/assessment_group/test_assessment_group.js
+++ b/erpnext/education/doctype/assessment_group/test_assessment_group.js
@@ -18,8 +18,6 @@
 		// Creating child nodes
 		() => frappe.tests.click_link('All Assessment Groups'),
 		() => frappe.map_group.make('Assessment-group-1'),
-		() => frappe.map_group.make('Assessment-group-2'),
-		() => frappe.map_group.make('Assessment-group-3'),
 		() => frappe.map_group.make('Assessment-group-4', "All Assessment Groups", 1),
 		() => frappe.tests.click_link('Assessment-group-4'),
 		() => frappe.map_group.make('Assessment-group-5', "Assessment-group-3", 0),
@@ -39,27 +37,8 @@
 		() => frappe.timeout(0.5),
 		() => frappe.tests.click_button('Yes'),
 
-		// Renaming Child node
-		() => frappe.timeout(0.5),
-		() => frappe.tests.click_link('Assessment-group-2'),
-		() => frappe.tests.click_button('Rename'),
-		() => frappe.timeout(0.4),
-		() => cur_dialog.set_value('new_name', 'Assessment-group-6'),
-		() => frappe.tests.click_button('Rename'),
-		() => frappe.tests.click_button('Close'),
-
-		// Merging 2 child nodes into 1
-		() => frappe.timeout(0.5),
-		() => frappe.tests.click_link('Assessment-group-6'),
-		() => frappe.tests.click_button('Rename'),
-		() => frappe.timeout(0.4),
-		() => cur_dialog.set_value('merge', 1),
-		() => cur_dialog.set_value('new_name', 'Assessment-group-3'),
-		() => frappe.tests.click_button('Rename'),
-		() => frappe.tests.click_button('Close'),
-
 		// Checking Collapse and Expand button
-		() => frappe.timeout(1),
+		() => frappe.timeout(2),
 		() => frappe.tests.click_link('Assessment-group-4'),
 		() => frappe.click_button('Collapse'),
 		() => frappe.tests.click_link('All Assessment Groups'),
diff --git a/erpnext/hr/doctype/branch/test_branch.js b/erpnext/hr/doctype/branch/test_branch.js
index 446db75..c315385 100644
--- a/erpnext/hr/doctype/branch/test_branch.js
+++ b/erpnext/hr/doctype/branch/test_branch.js
@@ -9,7 +9,8 @@
 		() => frappe.set_route("List", "Branch", "List"),
 		() => frappe.new_doc("Branch"),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("branch", "Test Branch"),
 
 		// save form
diff --git a/erpnext/hr/doctype/department/test_department.js b/erpnext/hr/doctype/department/test_department.js
index 1c413e9..3a571f7 100644
--- a/erpnext/hr/doctype/department/test_department.js
+++ b/erpnext/hr/doctype/department/test_department.js
@@ -9,7 +9,8 @@
 		() => frappe.set_route("List", "Department", "List"),
 		() => frappe.new_doc("Department"),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("department_name", "Test Department"),
 		() => cur_frm.set_value("leave_block_list", "Test Leave block list"),
 		// save form
diff --git a/erpnext/hr/doctype/designation/test_designation.js b/erpnext/hr/doctype/designation/test_designation.js
index a012877..45c3417 100644
--- a/erpnext/hr/doctype/designation/test_designation.js
+++ b/erpnext/hr/doctype/designation/test_designation.js
@@ -9,7 +9,8 @@
 		() => frappe.set_route("List", "Designation", "List"),
 		() => frappe.new_doc("Designation"),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("designation_name", "Test Designation"),
 		() => cur_frm.set_value("description", "This designation is just for testing."),
 		// save form
diff --git a/erpnext/hr/doctype/employee_loan_application/test_employee_loan_application.js b/erpnext/hr/doctype/employee_loan_application/test_employee_loan_application.js
index 3e2977e..d828d9a 100644
--- a/erpnext/hr/doctype/employee_loan_application/test_employee_loan_application.js
+++ b/erpnext/hr/doctype/employee_loan_application/test_employee_loan_application.js
@@ -12,7 +12,7 @@
 			employee_name = r.message.name;
 		},
 		() => {
-			frappe.tests.make('Employee Loan Application', [
+			return frappe.tests.make('Employee Loan Application', [
 				{ company: 'For Testing'},
 				{ employee: employee_name},
 				{ employee_name: 'Test Employee 1'},
diff --git a/erpnext/hr/doctype/employment_type/test_employment_type.js b/erpnext/hr/doctype/employment_type/test_employment_type.js
index 0ddd3e0..9835aab 100644
--- a/erpnext/hr/doctype/employment_type/test_employment_type.js
+++ b/erpnext/hr/doctype/employment_type/test_employment_type.js
@@ -9,7 +9,8 @@
 		() => frappe.set_route("List", "Employment Type", "List"),
 		() => frappe.new_doc("Employment Type"),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("employee_type_name", "Test Employment type"),
 		// save form
 		() => cur_frm.save(),
diff --git a/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.js b/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.js
index 3f9d486..62234e0 100644
--- a/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.js
+++ b/erpnext/hr/doctype/expense_claim_type/test_expense_claim_type.js
@@ -12,7 +12,7 @@
 				{ accounts: [
 					[
 						{ company: 'For Testing'},
-						{ default_account: 'Round Off - FT'}
+						{ default_account: 'Rounded Off - FT'}
 					]
 				]},
 			]);
diff --git a/erpnext/hr/doctype/payroll_entry/test_payroll_entry.js b/erpnext/hr/doctype/payroll_entry/test_payroll_entry.js
index 5eee3fd..c109aab 100644
--- a/erpnext/hr/doctype/payroll_entry/test_payroll_entry.js
+++ b/erpnext/hr/doctype/payroll_entry/test_payroll_entry.js
@@ -3,6 +3,7 @@
 QUnit.test("test: Payroll Entry", function (assert) {
 	assert.expect(5);
 	let done = assert.async();
+	let employees, docname;
 
 	frappe.run_serially([
 		() => {
@@ -20,6 +21,11 @@
 			assert.equal(cur_frm.doc.posting_date, frappe.datetime.add_days(frappe.datetime.nowdate(), 0));
 			assert.equal(cur_frm.doc.cost_center, 'Main - FT');
 		},
+		() => frappe.click_button('Get Employee Details'),
+		() => {
+			employees = cur_frm.doc.employees.length;
+			docname = cur_frm.doc.name;
+		},
 
 		() => frappe.click_button('Submit'),
 		() => frappe.timeout(1),
@@ -28,9 +34,9 @@
 
 		() => frappe.click_button('View Salary Slip'),
 		() => frappe.timeout(2),
-		() => assert.equal(cur_list.data[0].docstatus, 0),
+		() => assert.equal(cur_list.data.length, employees),
 
-		() => frappe.set_route('Form', 'Payroll Entry', 'Payroll 0001'),
+		() => frappe.set_route('Form', 'Payroll Entry', docname),
 		() => frappe.timeout(2),
 		() => frappe.click_button('Submit Salary Slip'),
 		() => frappe.timeout(3),
@@ -41,7 +47,13 @@
 		() => frappe.click_button('View Salary Slip'),
 		() => frappe.timeout(2),
 		() => {
-			assert.ok(cur_list.data[0].docstatus == 1, "Salary slip submitted");
+			let count = 0;
+			for(var i = 0; i < employees; i++) {
+				if(cur_list.data[i].docstatus == 1){
+					count++;
+				}
+			}
+			assert.equal(count, employees, "Salary Slip submitted for all employees");
 		},
 
 		() => done()
diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.js b/erpnext/hr/doctype/salary_slip/test_salary_slip.js
index 619e530..43cc27d 100644
--- a/erpnext/hr/doctype/salary_slip/test_salary_slip.js
+++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.js
@@ -44,6 +44,12 @@
 		() => frappe.timeout(6),
 		() => salary_slip('Test Employee 3'),
 		() => frappe.timeout(5),
+		() => frappe.set_route('List', 'Salary Slip', 'List'),
+		() => frappe.timeout(2),
+		() => {$('.list-select-all').click();},
+		() => frappe.timeout(2),
+		() => frappe.click_button('Delete'),
+		() => frappe.click_button('Yes'),
 		() => done()
 	]);
 });
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/operation/test_operation.js b/erpnext/manufacturing/doctype/operation/test_operation.js
index 42553ce..fd7783f 100644
--- a/erpnext/manufacturing/doctype/operation/test_operation.js
+++ b/erpnext/manufacturing/doctype/operation/test_operation.js
@@ -7,7 +7,7 @@
 
 		// Create a Keyboard operation
 		() => {
-			frappe.tests.make(
+			return frappe.tests.make(
 				"Operation", [
 					{__newname: "Assemble Keyboard"},
 					{workstation: "Keyboard assembly workstation"}
@@ -24,7 +24,7 @@
 
 		// Create a Screen operation
 		() => {
-			frappe.tests.make(
+			return frappe.tests.make(
 				"Operation", [
 					{__newname: 'Assemble Screen'},
 					{workstation: "Screen assembly workstation"}
@@ -35,7 +35,7 @@
 
 		// Create a CPU operation
 		() => {
-			frappe.tests.make(
+			return frappe.tests.make(
 				"Operation", [
 					{__newname: 'Assemble CPU'},
 					{workstation: "CPU assembly workstation"}
diff --git a/erpnext/manufacturing/doctype/production_order/test_production_order.js b/erpnext/manufacturing/doctype/production_order/test_production_order.js
index 670f0b0..3a2e5ce 100644
--- a/erpnext/manufacturing/doctype/production_order/test_production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/test_production_order.js
@@ -15,7 +15,7 @@
 
 	frappe.run_serially([
 		// test production order
-		() => frappe.set_route("List", "Production Order"),
+		() => frappe.set_route("List", "Production Order", "List"),
 		() => frappe.timeout(3),
 
 		// Create a laptop production order
@@ -65,7 +65,7 @@
 		() => frappe.timeout(2.5),
 
 		// Start the production order process
-		() => frappe.set_route("List", "Production Order"),
+		() => frappe.set_route("List", "Production Order", "List"),
 		() => frappe.timeout(2),
 		() => frappe.click_link("Laptop"),
 		() => frappe.timeout(1),
@@ -118,7 +118,7 @@
 		() => frappe.timeout(1),
 
 		// Manufacturing finished
-		() => frappe.set_route("List", "Production Order"),
+		() => frappe.set_route("List", "Production Order", "List"),
 		() => frappe.timeout(1),
 		() => frappe.click_link("Laptop"),
 		() => frappe.timeout(1),
diff --git a/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.js b/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.js
index 6c29fb5..08baaf0 100644
--- a/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.js
+++ b/erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.js
@@ -10,13 +10,15 @@
 
 	frappe.run_serially([
 		// insert a new Member
-		() => frappe.tests.make('Volunteer Type', [
-			// values to be set
-			{volunteer_type: 'Test Work'},
-			{amount: 500}
-		]),
 		() => {
-			assert.equal(cur_frm.doc.volunteer_type, 'Test Work');
+			return frappe.tests.make('Volunteer Type', [
+				// values to be set
+				{__newname: 'Test Work'},
+				{amount: 500}
+			]);
+		},
+		() => {
+			assert.equal(cur_frm.doc.name, 'Test Work');
 			assert.equal(cur_frm.doc.amount, 500);
 		},
 		() => done()
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index f6988ab..fe5ceda 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -1,5 +1,6 @@
 execute:import unidecode # new requirement
 erpnext.patches.v8_0.move_perpetual_inventory_setting
+erpnext.patches.v10_0.rename_schools_to_education
 erpnext.patches.v4_0.validate_v3_patch
 erpnext.patches.v4_0.fix_employee_user_id
 erpnext.patches.v4_0.remove_employee_role_if_no_employee
@@ -470,7 +471,6 @@
 erpnext.patches.v9_2.rename_translated_domains_in_en
 erpnext.patches.v9_0.set_shipping_type_for_existing_shipping_rules
 erpnext.patches.v9_0.update_multi_uom_fields_in_material_request
-erpnext.patches.v10_0.rename_schools_to_education
 erpnext.patches.v9_2.repost_reserved_qty_for_production
 erpnext.patches.v9_2.remove_company_from_patient
 erpnext.patches.v9_2.set_item_name_in_production_order
diff --git a/erpnext/projects/doctype/activity_type/test_activity_type.js b/erpnext/projects/doctype/activity_type/test_activity_type.js
index 8023121..62be972 100644
--- a/erpnext/projects/doctype/activity_type/test_activity_type.js
+++ b/erpnext/projects/doctype/activity_type/test_activity_type.js
@@ -8,7 +8,8 @@
 		() => frappe.set_route("List", "Activity Type", "List"),
 		() => frappe.new_doc("Activity Type"),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("activity_type", "Test Activity"),
 		() => frappe.click_button('Save'),
 		() => frappe.timeout(1),
diff --git a/erpnext/projects/doctype/task/tests/test_task_tree.js b/erpnext/projects/doctype/task/tests/test_task_tree.js
index 9cbcf85..27dccbf 100644
--- a/erpnext/projects/doctype/task/tests/test_task_tree.js
+++ b/erpnext/projects/doctype/task/tests/test_task_tree.js
@@ -6,7 +6,7 @@
 	let done = assert.async();
 
 	// number of asserts
-	assert.expect(5);
+	assert.expect(4);
 
 	frappe.run_serially([
 		// insert a new Task
@@ -21,9 +21,8 @@
 		() => frappe.timeout(0.5),
 
 		// Creating child nodes
-		() => frappe.tests.click_link('task'),
+		() => frappe.tests.click_link('All Tasks'),
 		() => frappe.map_group.make('Test-1'),
-		() => frappe.map_group.make('Test-2'),
 		() => frappe.map_group.make('Test-3', 1),
 		() => frappe.timeout(1),
 		() => frappe.tests.click_link('Test-3'),
@@ -33,8 +32,9 @@
 		() => frappe.timeout(0.5),
 		() => frappe.tests.click_link('Test-1'),
 		() => frappe.tests.click_button('Edit'),
-		() => frappe.timeout(0.5),
-		() => {assert.deepEqual(frappe.get_route(), ["Form", "Task", "Test-1"], "Edit route checks");},
+		() => frappe.timeout(1),
+		() => frappe.db.get_value('Task', {'subject': 'Test-1'}, 'name'),
+		(task) => {assert.deepEqual(frappe.get_route(), ["Form", "Task", task.message.name], "Edit route checks");},
 
 		// Deleting child Node
 		() => frappe.set_route('Tree', 'Task'),
@@ -54,17 +54,6 @@
 		() => {assert.equal(cur_dialog.title, 'Message', 'Error thrown correctly');},
 		() => frappe.tests.click_button('Close'),
 
-		// Renaming Child node
-		() => frappe.timeout(0.5),
-		() => frappe.tests.click_link('Test-2'),
-		() => frappe.tests.click_button('Rename'),
-		() => frappe.timeout(1),
-		() => cur_dialog.set_value('new_name', 'Test-5'),
-		() => frappe.timeout(1.5),
-		() => cur_dialog.get_primary_btn().click(),
-		() => frappe.timeout(1),
-		() => {assert.equal($(`a:contains("Test-5"):visible`).length, 1, 'Rename successfull');},
-
 		// Add multiple child tasks
 		() => frappe.tests.click_link('Test-3'),
 		() => frappe.timeout(0.5),
diff --git a/erpnext/restaurant/doctype/restaurant/test_restaurant.js b/erpnext/restaurant/doctype/restaurant/test_restaurant.js
index f4a1343..26de5d0 100644
--- a/erpnext/restaurant/doctype/restaurant/test_restaurant.js
+++ b/erpnext/restaurant/doctype/restaurant/test_restaurant.js
@@ -7,9 +7,18 @@
 
 	// number of asserts
 	assert.expect(2);
+	let customer =  {
+		"Test Customer 1": [
+			{customer_name: "Test Customer 1"}
+		],
+		"Test Customer 2": [
+			{customer_name: "Test Customer 2"}
+		]
+	};
 
 	frappe.run_serially([
 		// insert a new Restaurant
+		() => frappe.tests.setup_doctype('Customer', customer),				
 		() => {
 			return frappe.tests.make('Restaurant', [
 				// values to be set
diff --git a/erpnext/selling/doctype/quotation/tests/test_quotation_with_margin.js b/erpnext/selling/doctype/quotation/tests/test_quotation_with_margin.js
index 590a828..5b4224d 100644
--- a/erpnext/selling/doctype/quotation/tests/test_quotation_with_margin.js
+++ b/erpnext/selling/doctype/quotation/tests/test_quotation_with_margin.js
@@ -11,7 +11,7 @@
 				{currency: 'USD'},
 				{items: [
 					[
-						{'item_code': 'Test Product 3'},
+						{'item_code': 'Test Product 4'},
 						{'delivery_date': frappe.datetime.add_days(frappe.defaults.get_default("year_end_date"), 1)},
 						{'qty': 1},
 						{'margin_type': 'Percentage'},
diff --git a/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_bypass_credit_limit_check.js b/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_bypass_credit_limit_check.js
index 3ffb825..dbd58c1 100644
--- a/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_bypass_credit_limit_check.js
+++ b/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_bypass_credit_limit_check.js
@@ -7,7 +7,8 @@
 	frappe.run_serially([
 		() => frappe.new_doc('Customer'),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("customer_name", "Test Customer 10"),
 		() => cur_frm.set_value("credit_limit", 100.00),
 		() => cur_frm.set_value("bypass_credit_limit_check_at_sales_order", 1),
@@ -17,7 +18,8 @@
 
 		() => frappe.new_doc('Item'),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("item_code", "Test Product 10"),
 		() => cur_frm.set_value("item_group", "Products"),
 		() => cur_frm.set_value("standard_rate", 100),	
diff --git a/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_margin.js b/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_margin.js
index 8575b78..7426868 100644
--- a/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_margin.js
+++ b/erpnext/selling/doctype/sales_order/tests/test_sales_order_with_margin.js
@@ -11,7 +11,7 @@
 				{currency: 'USD'},
 				{items: [
 					[
-						{'item_code': 'Test Product 3'},
+						{'item_code': 'Test Product 4'},
 						{'delivery_date': frappe.datetime.add_days(frappe.defaults.get_default("year_end_date"), 1)},
 						{'qty': 1},
 						{'margin_type': 'Amount'},
diff --git a/erpnext/selling/doctype/sales_order/tests/test_sales_order_without_bypass_credit_limit_check.js b/erpnext/selling/doctype/sales_order/tests/test_sales_order_without_bypass_credit_limit_check.js
index ea15edc..4e81fb0 100644
--- a/erpnext/selling/doctype/sales_order/tests/test_sales_order_without_bypass_credit_limit_check.js
+++ b/erpnext/selling/doctype/sales_order/tests/test_sales_order_without_bypass_credit_limit_check.js
@@ -7,7 +7,8 @@
 	frappe.run_serially([
 		() => frappe.new_doc('Customer'),
 		() => frappe.timeout(1),
-		() => frappe.click_link('Edit in full page'),
+		() => frappe.quick_entry.dialog.$wrapper.find('.edit-full').click(),
+		() => frappe.timeout(1),
 		() => cur_frm.set_value("customer_name", "Test Customer 11"),
 		() => cur_frm.set_value("credit_limit", 100.00),
 		() => cur_frm.set_value("bypass_credit_limit_check_at_sales_order", 0),
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note_with_margin.js b/erpnext/stock/doctype/delivery_note/test_delivery_note_with_margin.js
index 67c9f38..21eb35c 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note_with_margin.js
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note_with_margin.js
@@ -11,7 +11,7 @@
 				{currency: 'USD'},
 				{items: [
 					[
-						{'item_code': 'Test Product 3'},
+						{'item_code': 'Test Product 4'},
 						{'qty': 1},
 						{'margin_type': 'Amount'},
 						{'margin_rate_or_amount': 10}
diff --git a/erpnext/stock/doctype/item_price/test_item_price.js b/erpnext/stock/doctype/item_price/test_item_price.js
index 6383fb0..8f2f289 100644
--- a/erpnext/stock/doctype/item_price/test_item_price.js
+++ b/erpnext/stock/doctype/item_price/test_item_price.js
@@ -7,13 +7,13 @@
 		() => {
 			return frappe.tests.make('Item Price', [
 				{price_list:'Test-Selling-USD'},
-				{item_code: 'Test Product 3'},
+				{item_code: 'Test Product 4'},
 				{price_list_rate: 200}
 			]);
 		},
 		() => cur_frm.save(),
 		() => {
-			assert.ok(cur_frm.doc.item_name == 'Test Product 3', "Item name correct");
+			assert.ok(cur_frm.doc.item_name == 'Test Product 4', "Item name correct");
 			assert.ok(cur_frm.doc.price_list_rate == 200, "Price list rate correct");
 		},
 		() => frappe.timeout(0.3),
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 2ceed97..0c9d0c7 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -312,7 +312,7 @@
 
 		out.price_list_rate = flt(price_list_rate) * flt(args.plc_conversion_rate) \
 			/ flt(args.conversion_rate)
-		if args.price_list_uom_dependant == 0:
+		if not args.price_list_uom_dependant:
 			out.price_list_rate = flt(out.price_list_rate * (args.conversion_factor or 1.0))
 
 		if not out.price_list_rate and args.transaction_type=="buying":
diff --git a/erpnext/tests/ui/tests.txt b/erpnext/tests/ui/tests.txt
index d02cae1..3749cb8 100644
--- a/erpnext/tests/ui/tests.txt
+++ b/erpnext/tests/ui/tests.txt
@@ -1,5 +1,4 @@
 erpnext/tests/ui/make_fixtures.js #long
-erpnext/setup/doctype/company/tests/test_company.js
 erpnext/accounts/doctype/account/tests/test_account.js
 erpnext/accounts/doctype/account/tests/test_make_tax_account.js
 erpnext/accounts/doctype/account/tests/test_account_with_number.js
@@ -7,9 +6,7 @@
 erpnext/accounts/doctype/sales_taxes_and_charges_template/test_sales_taxes_and_charges_template.js
 erpnext/accounts/doctype/purchase_taxes_and_charges_template/test_purchase_taxes_and_charges_template.js
 erpnext/accounts/doctype/shipping_rule/test_shipping_rule.js
-erpnext/crm/doctype/lead/test_lead.js
 erpnext/crm/doctype/opportunity/test_opportunity.js
-erpnext/setup/doctype/company/tests/test_company_production.js
 erpnext/stock/doctype/item/tests/test_item.js
 erpnext/selling/doctype/quotation/tests/test_quotation_with_discount_on_grand_total.js
 erpnext/selling/doctype/quotation/tests/test_quotation_with_item_wise_discount.js
@@ -42,13 +39,6 @@
 erpnext/hr/doctype/leave_control_panel/test_leave_control_panel.js
 erpnext/hr/doctype/leave_allocation/test_leave_allocation.js
 erpnext/hr/doctype/leave_application/test_leave_application.js
-erpnext/education/doctype/academic_year/test_academic_year.js
-erpnext/education/doctype/academic_term/test_academic_term.js
-erpnext/education/doctype/education_settings/test_education_settings.js
-erpnext/education/doctype/student_batch_name/test_student_batch_name.js
-erpnext/education/doctype/student_category/test_student_category.js
-erpnext/education/doctype/room/test_room.js
-erpnext/education/doctype/instructor/test_instructor.js
 erpnext/stock/doctype/warehouse/test_warehouse.js
 erpnext/manufacturing/doctype/production_order/test_production_order.js #long
 erpnext/accounts/page/pos/test_pos.js
@@ -95,26 +85,6 @@
 erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_taxes_and_charges.js
 erpnext/buying/doctype/purchase_order/tests/test_purchase_order_receipt.js
 erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.js
-erpnext/education/doctype/grading_scale/test_grading_scale.js
-erpnext/education/doctype/assessment_criteria_group/test_assessment_criteria_group.js
-erpnext/education/doctype/assessment_criteria/test_assessment_criteria.js
-erpnext/education/doctype/course/test_course.js
-erpnext/education/doctype/program/test_program.js
-erpnext/education/doctype/guardian/test_guardian.js
-erpnext/education/doctype/student_admission/test_student_admission.js
-erpnext/education/doctype/student_applicant/tests/test_student_applicant_dummy_data.js
-erpnext/education/doctype/student_applicant/tests/test_student_applicant.js
-erpnext/education/doctype/student_applicant/tests/test_student_applicant_options.js
-erpnext/education/doctype/student_log/test_student_log.js
-erpnext/education/doctype/student_group/test_student_group.js
-erpnext/education/doctype/student_group_creation_tool/test_student_group_creation_tool.js
-erpnext/education/doctype/student_leave_application/test_student_leave_application.js
-erpnext/education/doctype/student_attendance_tool/test_student_attendance_tool.js
-erpnext/education/doctype/student_attendance/test_student_attendance.js
-erpnext/education/doctype/assessment_group/test_assessment_group.js
-erpnext/education/doctype/assessment_plan/test_assessment_plan.js
-erpnext/education/doctype/assessment_result/test_assessment_result.js
-erpnext/education/doctype/assessment_result_tool/test_assessment_result_tool.js
 erpnext/accounts/doctype/journal_entry/test_journal_entry.js
 erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.js
 erpnext/accounts/doctype/payment_entry/tests/test_payment_entry.js
@@ -129,10 +99,6 @@
 erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_serialize_item.js
 erpnext/accounts/doctype/payment_entry/tests/test_payment_against_invoice.js
 erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_last_purchase_rate.js
-erpnext/restaurant/doctype/restaurant/test_restaurant.js
-erpnext/restaurant/doctype/restaurant_table/test_restaurant_table.js
-erpnext/restaurant/doctype/restaurant_menu/test_restaurant_menu.js
-erpnext/restaurant/doctype/restaurant_order_entry/restaurant_order_entry.js
 erpnext/projects/doctype/task/tests/test_task_tree.js
 erpnext/stock/doctype/item_price/test_item_price.js
 erpnext/stock/doctype/delivery_note/test_delivery_note_with_margin.js
@@ -141,17 +107,3 @@
 erpnext/accounts/doctype/sales_invoice/tests/test_sales_invoice_with_margin.js
 erpnext/hr/doctype/payroll_entry/test_set_salary_components.js
 erpnext/hr/doctype/payroll_entry/test_payroll_entry.js
-erpnext/agriculture/doctype/land_unit/test_land_unit.js
-erpnext/agriculture/doctype/fertilizer/test_fertilizer.js
-erpnext/agriculture/doctype/water_analysis/test_water_analysis.js
-erpnext/agriculture/doctype/disease/test_disease.js
-erpnext/agriculture/doctype/soil_texture/test_soil_texture.js
-erpnext/agriculture/doctype/crop/test_crop.js
-erpnext/agriculture/doctype/crop_cycle/test_crop_cycle.js
-erpnext/non_profit/doctype/membership_type/test_membership_type.js
-erpnext/non_profit/doctype/member/test_member.js
-erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.js
-erpnext/non_profit/doctype/volunteer/test_volunteer.js
-erpnext/non_profit/doctype/donor_type/test_donor_type.js
-erpnext/non_profit/doctype/donor/test_donor.js
-erpnext/non_profit/doctype/grant_application/test_grant_application.js
\ No newline at end of file
diff --git a/erpnext/tests/ui/tests2.txt b/erpnext/tests/ui/tests2.txt
new file mode 100644
index 0000000..e410a83
--- /dev/null
+++ b/erpnext/tests/ui/tests2.txt
@@ -0,0 +1,46 @@
+erpnext/setup/doctype/company/tests/test_company.js
+erpnext/crm/doctype/lead/tests/test_lead_individual.js
+erpnext/crm/doctype/lead/tests/test_lead_organization.js
+erpnext/setup/doctype/company/tests/test_company_production.js
+erpnext/hr/doctype/leave_block_list/test_leave_block_list.js
+erpnext/hr/doctype/department/test_department.js
+erpnext/hr/doctype/designation/test_designation.js
+erpnext/education/doctype/academic_year/test_academic_year.js
+erpnext/education/doctype/academic_term/test_academic_term.js
+erpnext/education/doctype/education_settings/test_education_settings.js
+erpnext/education/doctype/student_batch_name/test_student_batch_name.js
+erpnext/education/doctype/student_category/test_student_category.js
+erpnext/education/doctype/room/test_room.js
+erpnext/education/doctype/instructor/test_instructor.js
+erpnext/education/doctype/grading_scale/test_grading_scale.js
+erpnext/education/doctype/assessment_criteria_group/test_assessment_criteria_group.js
+erpnext/education/doctype/assessment_criteria/test_assessment_criteria.js
+erpnext/education/doctype/course/test_course.js
+erpnext/education/doctype/program/test_program.js
+erpnext/education/doctype/guardian/test_guardian.js
+erpnext/education/doctype/student_admission/test_student_admission.js
+erpnext/education/doctype/student_applicant/tests/test_student_applicant_dummy_data.js
+erpnext/education/doctype/student_applicant/tests/test_student_applicant.js
+erpnext/education/doctype/student_applicant/tests/test_student_applicant_options.js
+erpnext/education/doctype/student_log/test_student_log.js
+erpnext/education/doctype/student_group/test_student_group.js
+erpnext/education/doctype/student_group_creation_tool/test_student_group_creation_tool.js
+erpnext/education/doctype/student_leave_application/test_student_leave_application.js
+erpnext/education/doctype/student_attendance_tool/test_student_attendance_tool.js
+erpnext/education/doctype/student_attendance/test_student_attendance.js
+erpnext/education/doctype/assessment_group/test_assessment_group.js
+erpnext/education/doctype/assessment_plan/test_assessment_plan.js
+erpnext/education/doctype/assessment_result/test_assessment_result.js
+erpnext/education/doctype/assessment_result_tool/test_assessment_result_tool.js
+erpnext/projects/doctype/task/tests/test_task_tree.js
+erpnext/restaurant/doctype/restaurant/test_restaurant.js
+erpnext/restaurant/doctype/restaurant_table/test_restaurant_table.js
+erpnext/restaurant/doctype/restaurant_menu/test_restaurant_menu.js
+erpnext/restaurant/doctype/restaurant_order_entry/restaurant_order_entry.js
+erpnext/non_profit/doctype/membership_type/test_membership_type.js
+erpnext/non_profit/doctype/member/test_member.js
+erpnext/non_profit/doctype/volunteer_type/test_volunteer_type.js
+erpnext/non_profit/doctype/volunteer/test_volunteer.js
+erpnext/non_profit/doctype/donor_type/test_donor_type.js
+erpnext/non_profit/doctype/donor/test_donor.js
+erpnext/non_profit/doctype/grant_application/test_grant_application.js
\ No newline at end of file
