From 4044c2ed40a164cdee8eb7affb2d97d0f4f61623 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Thu, 1 Jun 2023 17:00:57 +0530 Subject: [PATCH] fix(test): `test_stock_reservation_against_sales_order` --- .../doctype/sales_order/test_sales_order.py | 8 ++-- .../test_stock_reservation_entry.py | 40 ++++++++++++++----- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py index 88bc4bd3ce..8d1dd0725f 100644 --- a/erpnext/selling/doctype/sales_order/test_sales_order.py +++ b/erpnext/selling/doctype/sales_order/test_sales_order.py @@ -1890,11 +1890,11 @@ class TestSalesOrder(FrappeTestCase): ) from erpnext.stock.doctype.stock_reservation_entry.test_stock_reservation_entry import ( create_items, - create_material_receipts, + create_material_receipt, ) items_details, warehouse = create_items(), "_Test Warehouse - _TC" - create_material_receipts(items_details, warehouse, qty=10) + se = create_material_receipt(items_details, warehouse, qty=10) item_list = [] for item_code, properties in items_details.items(): @@ -1932,8 +1932,10 @@ class TestSalesOrder(FrappeTestCase): self.assertEqual(item.stock_reserved_qty, sre_details[0].reserved_qty) self.assertEqual(sre_details[0].status, "Partially Reserved") + se.cancel() + # Test - 3: Stock should be fully Reserved if the Available Qty to Reserve is greater than the Un-reserved Qty. - create_material_receipts(items_details, warehouse, qty=100) + create_material_receipt(items_details, warehouse, qty=110) so.create_stock_reservation_entries() so.load_from_db() diff --git a/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py b/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py index 5a082ddfe6..41f928ba3f 100644 --- a/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py +++ b/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py @@ -5,6 +5,7 @@ import frappe from frappe.tests.utils import FrappeTestCase, change_settings from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order +from erpnext.stock.doctype.stock_entry.stock_entry import StockEntry from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry from erpnext.stock.utils import get_stock_balance @@ -12,7 +13,7 @@ from erpnext.stock.utils import get_stock_balance class TestStockReservationEntry(FrappeTestCase): def setUp(self) -> None: self.items = create_items() - create_material_receipts(self.items) + create_material_receipt(self.items) def tearDown(self) -> None: return super().tearDown() @@ -269,18 +270,35 @@ def create_items() -> dict: return items -def create_material_receipts( +def create_material_receipt( items: dict, warehouse: str = "_Test Warehouse - _TC", qty: float = 100 -) -> None: +) -> StockEntry: + se = frappe.new_doc("Stock Entry") + se.purpose = "Material Receipt" + se.company = "_Test Company" + cost_center = frappe.get_value("Company", se.company, "cost_center") + expense_account = frappe.get_value("Company", se.company, "stock_adjustment_account") + for item in items.values(): - if item.is_stock_item: - make_stock_entry( - item_code=item.item_code, - qty=qty, - to_warehouse=warehouse, - rate=item.valuation_rate, - purpose="Material Receipt", - ) + se.append( + "items", + { + "item_code": item.item_code, + "t_warehouse": warehouse, + "qty": qty, + "basic_rate": item.valuation_rate or 100, + "conversion_factor": 1.0, + "transfer_qty": qty, + "cost_center": cost_center, + "expense_account": expense_account, + }, + ) + + se.set_stock_entry_type() + se.insert() + se.submit() + + return se def cancel_all_stock_reservation_entries() -> None: