fix(test): `test_stock_reservation_against_sales_order`
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 88bc4bd..8d1dd07 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 @@
)
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 @@
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 5a082dd..41f928b 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 @@
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 @@
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 @@
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: