From f87f284616add2a3241b20713ec297b1cfd0f25a Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Sat, 16 Mar 2024 14:39:57 +0530 Subject: [PATCH] test: SO reference validation (cherry picked from commit 4f396d304979a23c3265c467112aa1dbc99932bd) # Conflicts: # erpnext/selling/doctype/sales_order/test_sales_order.py --- erpnext/selling/doctype/sales_order/test_sales_order.py | 8 +++++++- .../stock/doctype/delivery_note/test_delivery_note.py | 9 +++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py index 2de0168812d..e971b4a53cd 100644 --- a/erpnext/selling/doctype/sales_order/test_sales_order.py +++ b/erpnext/selling/doctype/sales_order/test_sales_order.py @@ -2225,13 +2225,19 @@ def make_sales_order(**args): return so +<<<<<<< HEAD def create_dn_against_so(so, delivered_qty=0): frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1) +======= +def create_dn_against_so(so, delivered_qty=0, do_not_submit=False): + frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1) +>>>>>>> 4f396d3049 (test: SO reference validation) dn = make_delivery_note(so) dn.get("items")[0].qty = delivered_qty or 5 dn.insert() - dn.submit() + if not do_not_submit: + dn.submit() return dn diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py index 9f2c0be75d0..6e735ea67b7 100644 --- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py @@ -723,6 +723,15 @@ class TestDeliveryNote(FrappeTestCase): dn.cancel() self.assertEqual(dn.status, "Cancelled") + def test_sales_order_reference_validation(self): + so = make_sales_order(po_no="12345") + dn = create_dn_against_so(so.name, delivered_qty=2, do_not_submit=True) + dn.items[0].against_sales_order = None + self.assertRaises(frappe.ValidationError, dn.save) + dn.reload() + dn.items[0].so_detail = None + self.assertRaises(frappe.ValidationError, dn.save) + def test_dn_billing_status_case1(self): # SO -> DN -> SI so = make_sales_order(po_no="12345")