From 2a892f5c523171814511c1ed983212746ba930bd Mon Sep 17 00:00:00 2001 From: Vishal Date: Tue, 15 Nov 2022 17:41:14 +0530 Subject: [PATCH] fix: test case added for MR internal Transfer (cherry picked from commit 89aabdaaaa5009a94cfa14ae2bdd50c036afd670) --- .../purchase_order/test_purchase_order.py | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index 5a96131157b..e7c2db8574b 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -879,6 +879,50 @@ class TestPurchaseOrder(FrappeTestCase): po.load_from_db() self.assertEqual(po.status, "Completed") + def test_internal_transfer_flow_with_mr(self): + from erpnext.selling.doctype.sales_order.sales_order import ( + make_delivery_note, + ) + from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_purchase_receipt + + frappe.db.set_value("Selling Settings", None, "maintain_same_sales_rate", 1) + frappe.db.set_value("Buying Settings", None, "maintain_same_rate", 1) + + supplier = "_Test Internal Supplier 2" + + mr = make_material_request(qty=2, company="_Test Company with perpetual inventory", warehouse="Stores - TCP1") + po = make_purchase_order(mr.name) + po.supplier = supplier + po.from_warehouse="_Test Internal Warehouse New 1 - TCP1", + po.rate=1, + po.save() + po.submit() + + so = make_inter_company_sales_order(po.name) + so.items[0].delivery_date = today() + self.assertEqual(so.items[0].warehouse, "_Test Internal Warehouse New 1 - TCP1") + self.assertTrue(so.items[0].material_request) + self.assertTrue(so.items[0].material_request_item) + so.submit() + + dn = make_delivery_note(so.name) + dn.items[0].target_warehouse = "_Test Internal Warehouse GIT - TCP1" + self.assertEqual(dn.items[0].warehouse, "_Test Internal Warehouse New 1 - TCP1") + self.assertTrue(dn.items[0].material_request) + self.assertTrue(dn.items[0].material_request_item) + + self.assertEqual(mr.items[0].name, dn.items[0].material_request_item) + dn.submit() + + pr = make_inter_company_purchase_receipt(dn.name) + self.assertEqual(pr.items[0].warehouse, "Stores - TCP1") + self.assertTrue(pr.items[0].material_request) + self.assertTrue(pr.items[0].material_request_item) + self.assertEqual(mr.items[0].name, pr.items[0].material_request_item) + pr.submit() + + po.load_from_db() + self.assertEqual(mr.status, "Received") def prepare_data_for_internal_transfer(): from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier