diff --git a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.js
index 75760bf..6927d82 100644
--- a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.js
+++ b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.js
@@ -9,7 +9,7 @@
 			date = frappe.datetime.add_days(frappe.datetime.now_date(), 10);
 			return frappe.tests.make('Request for Quotation', [
 				{transaction_date: date},
-				{company: 'Test Company'},
+				{company: 'Wind Power LLC'},
 				{suppliers: [
 					[
 						{"supplier": 'Test Supplier'},
@@ -21,7 +21,7 @@
 						{"item_code": 'Test Product 4'},
 						{"qty": 5},
 						{"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(),20)},
-						{"warehouse": 'All Warehouses - TC'}
+						{"warehouse": 'All Warehouses - WP'}
 					]
 				]},
 				{message_for_supplier: 'Please supply the specified items at the best possible rates'},
@@ -29,13 +29,13 @@
 			]);
 		},
 		() => {
-			assert.ok(cur_frm.doc.transaction_date ==  date, "Date correct");
-			assert.ok(cur_frm.doc.company == 'Test Company', "Company correct");
+			assert.ok(cur_frm.doc.transaction_date == date, "Date correct");
+			assert.ok(cur_frm.doc.company == 'Wind Power LLC', "Company correct");
 			assert.ok(cur_frm.doc.suppliers[0].supplier_name == 'Test Supplier', "Supplier name correct");
 			assert.ok(cur_frm.doc.suppliers[0].contact == 'Contact 3-Test Supplier', "Contact correct");
 			assert.ok(cur_frm.doc.suppliers[0].email_id == 'test@supplier.com', "Email id correct");
 			assert.ok(cur_frm.doc.items[0].item_name == 'Test Product 4', "Item Name correct");
-			assert.ok(cur_frm.doc.items[0].warehouse == 'All Warehouses - TC', "Warehouse correct");
+			assert.ok(cur_frm.doc.items[0].warehouse == 'All Warehouses - WP', "Warehouse correct");
 			assert.ok(cur_frm.doc.message_for_supplier == 'Please supply the specified items at the best possible rates', "Reply correct");
 			assert.ok(cur_frm.doc.tc_name == 'Test Term 1', "Term name correct");
 		},
@@ -52,10 +52,12 @@
 		() => frappe.timeout(0.3),
 		() => frappe.click_link('Material Request'),
 		() => frappe.timeout(1),
+		() => frappe.click_button('Get Items'),
+		() => frappe.timeout(1),
 		() => {
-			assert.ok($('h4').text().includes('Select Material Requests'), "Getting items from material requests work");
+			assert.ok(cur_frm.doc.items[1].item_name == 'Test Product 1', "Getting items from material requests work");
 		},
-		() => frappe.click_button('Close'),
+		() => cur_frm.save(),
 		() => frappe.timeout(1),
 		() => frappe.tests.click_button('Submit'),
 		() => frappe.tests.click_button('Yes'),
