From d718110216109eb89961a5c202e8852f5ea33717 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Sat, 1 Aug 2026 08:38:42 +0530 Subject: [PATCH] test: Required By on Purchase Orders created per supplier Backdates the Material Request item so the mapper drops its schedule date, and asserts the created order still saves with today as Required By. (cherry picked from commit 15d10bbaf1d5a53264d9ded5d2567e480d64cb7c) --- .../material_request/test_material_request.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py index c0ac04301cc..648b98df0a8 100644 --- a/erpnext/stock/doctype/material_request/test_material_request.py +++ b/erpnext/stock/doctype/material_request/test_material_request.py @@ -6,7 +6,7 @@ import frappe -from frappe.utils import flt, today +from frappe.utils import add_days, flt, getdate, today from erpnext.controllers.accounts_controller import InvalidQtyError from erpnext.stock.doctype.item.test_item import create_item @@ -1340,6 +1340,27 @@ class TestMaterialRequest(ERPNextTestSuite): self.assertEqual(second.items[0].qty, 4) self.assertEqual(second.items[0].stock_qty, 4) + def test_make_purchase_orders_by_supplier_sets_schedule_date(self): + from erpnext.stock.doctype.material_request.mapper import make_purchase_orders_by_supplier + + mr = make_material_request_for_items(["_Test Item"]) + frappe.db.set_value("Material Request Item", mr.items[0].name, "schedule_date", add_days(today(), -1)) + + purchase_orders = make_purchase_orders_by_supplier( + mr.name, + [ + { + "material_request_item": mr.items[0].name, + "item_code": "_Test Item", + "qty": 10, + "supplier": "_Test Supplier", + } + ], + ) + + po = frappe.get_doc("Purchase Order", purchase_orders[0]) + self.assertEqual(po.schedule_date, getdate(today())) + def test_make_purchase_orders_by_supplier_invalid_rows(self): from erpnext.stock.doctype.material_request.mapper import make_purchase_orders_by_supplier