From b5ed6823d6d19a17024f49b78cca2b324f75b0bb Mon Sep 17 00:00:00 2001 From: Shreya Shah Date: Thu, 17 Aug 2017 11:03:43 +0530 Subject: [PATCH] [UI Test] Buying - Create Purchase receipt (#10421) * Create purchase receipt after submitting the purchase order * Checks quantity and rate in stock ledger --- .../tests/test_purchase_order_receipt.js | 77 +++++++++++++++++++ erpnext/tests/ui/tests.txt | 3 +- 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 erpnext/buying/doctype/purchase_order/tests/test_purchase_order_receipt.js diff --git a/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_receipt.js b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_receipt.js new file mode 100644 index 0000000000..654586ae57 --- /dev/null +++ b/erpnext/buying/doctype/purchase_order/tests/test_purchase_order_receipt.js @@ -0,0 +1,77 @@ +QUnit.module('Buying'); + +QUnit.test("test: purchase order receipt", function(assert) { + assert.expect(5); + let done = assert.async(); + + frappe.run_serially([ + () => { + return frappe.tests.make('Purchase Order', [ + {supplier: 'Test Supplier'}, + {company: 'Wind Power LLC'}, + {is_subcontracted: 'No'}, + {buying_price_list: 'Test-Buying-USD'}, + {currency: 'USD'}, + {items: [ + [ + {"item_code": 'Test Product 1'}, + {"schedule_date": frappe.datetime.add_days(frappe.datetime.now_date(), 1)}, + {"expected_delivery_date": frappe.datetime.add_days(frappe.datetime.now_date(), 5)}, + {"qty": 5}, + {"uom": 'Unit'}, + {"rate": 100}, + {"warehouse": 'Stores - WP'} + ] + ]}, + ]); + }, + + () => { + + // Check supplier and item details + assert.ok(cur_frm.doc.supplier_name == 'Test Supplier', "Supplier name correct"); + assert.ok(cur_frm.doc.items[0].item_name == 'Test Product 1', "Item name correct"); + assert.ok(cur_frm.doc.items[0].description == 'Test Product 1', "Description correct"); + assert.ok(cur_frm.doc.items[0].qty == 5, "Quantity correct"); + + }, + + () => frappe.timeout(1), + + () => frappe.tests.click_button('Submit'), + () => frappe.tests.click_button('Yes'), + + () => frappe.timeout(1.5), + () => frappe.click_button('Close'), + () => frappe.timeout(0.3), + + // Make Purchase Receipt + () => frappe.click_button('Make'), + () => frappe.timeout(0.3), + + () => frappe.click_link('Receipt'), + () => frappe.timeout(2), + + () => cur_frm.save(), + + // Save and submit Purchase Receipt + () => frappe.timeout(1), + () => frappe.tests.click_button('Submit'), + () => frappe.tests.click_button('Yes'), + () => frappe.timeout(1), + + // View Purchase order in Stock Ledger + () => frappe.click_button('View'), + () => frappe.timeout(0.3), + + () => frappe.click_link('Stock Ledger'), + () => frappe.timeout(2), + () => { + assert.ok($('div.slick-cell.l2.r2 > a').text().includes('Test Product 1') + && $('div.slick-cell.l9.r9 > div').text().includes(5) + && $('div.slick-cell.l12.r12 > div').text().includes(100), "Stock ledger entry correct"); + }, + + () => done() + ]); +}); \ No newline at end of file diff --git a/erpnext/tests/ui/tests.txt b/erpnext/tests/ui/tests.txt index eac65a6947..2e71285097 100644 --- a/erpnext/tests/ui/tests.txt +++ b/erpnext/tests/ui/tests.txt @@ -94,4 +94,5 @@ erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_multi_uom.j erpnext/buying/doctype/purchase_order/tests/test_purchase_order_get_items.js erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_discount_on_grand_total.js erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_item_wise_discount.js -erpnext/buying/doctype/purchase_order/tests/test_purchase_order_with_taxes_and_charges.js \ No newline at end of file +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 \ No newline at end of file