Added first UI tests (#9532)

* [wip]

* [tests] wip

* [ui-tests] first-cut

* [minor] remove old tests
diff --git a/erpnext/tests/ui/test_fixtures.js b/erpnext/tests/ui/test_fixtures.js
new file mode 100644
index 0000000..e4ee664
--- /dev/null
+++ b/erpnext/tests/ui/test_fixtures.js
@@ -0,0 +1,48 @@
+$.extend(frappe.test_data, {
+	'Customer': {
+		'Test Customer 1': [
+			{customer_name: 'Test Customer 1'}
+		],
+		'Test Customer 2': [
+			{customer_name: 'Test Customer 2'}
+		],
+		'Test Customer 3': [
+			{customer_name: 'Test Customer 3'}
+		],
+	},
+	'Item': {
+		'Test Product 1': [
+			{item_code: 'Test Product 1'},
+			{item_group: 'Products'},
+			{is_stock_item: 1},
+			{standard_rate: 100},
+			{opening_stock: 100},
+		],
+		'Test Product 2': [
+			{item_code: 'Test Product 2'},
+			{item_group: 'Products'},
+			{is_stock_item: 1},
+			{standard_rate: 150},
+			{opening_stock: 200},
+		],
+		'Test Product 3': [
+			{item_code: 'Test Product 3'},
+			{item_group: 'Products'},
+			{is_stock_item: 1},
+			{standard_rate: 250},
+			{opening_stock: 100},
+		],
+		'Test Service 1': [
+			{item_code: 'Test Service 1'},
+			{item_group: 'Services'},
+			{is_stock_item: 0},
+			{standard_rate: 200}
+		],
+		'Test Service 2': [
+			{item_code: 'Test Service 2'},
+			{item_group: 'Services'},
+			{is_stock_item: 0},
+			{standard_rate: 300}
+		]
+	}
+});
\ No newline at end of file
diff --git a/erpnext/tests/ui/test_sellling.js b/erpnext/tests/ui/test_sellling.js
new file mode 100644
index 0000000..5543a67
--- /dev/null
+++ b/erpnext/tests/ui/test_sellling.js
@@ -0,0 +1,29 @@
+QUnit.module('sales');
+
+QUnit.test("test quotation", function(assert) {
+	assert.expect(2);
+	let done = assert.async();
+	frappe.run_serially([
+		() => frappe.tests.setup_doctype('Customer'),
+		() => frappe.tests.setup_doctype('Item'),
+		() => {
+			return frappe.tests.make('Quotation', [
+				{customer: 'Test Customer 1'},
+				{items: [
+					[
+						{'item_code': 'Test Product 1'},
+						{'qty': 5}
+					]
+				]}
+			]);
+		},
+		() => {
+			// get_item_details
+			assert.ok(cur_frm.doc.items[0].item_name=='Test Product 1');
+
+			// calculate_taxes_and_totals
+			assert.ok(cur_frm.doc.grand_total==500);
+		},
+		() => done()
+	]);
+});