fix: Add test to check if SO can be cancelled after linked Work Order has been submitted
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 57b0c02..d8d7336 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -1336,6 +1336,19 @@
so.load_from_db()
self.assertRaises(frappe.LinkExistsError, so.cancel)
+ def test_so_cancellation_after_work_order_submission(self):
+ """
+ Expected result: Sales Order should not get cancelled
+ """
+ from erpnext.manufacturing.doctype.work_order.test_work_order import make_wo_order_test_record
+
+ so = make_sales_order(item_code="_Test FG Item", qty=10)
+ so.submit()
+ make_wo_order_test_record(sales_order=so.name)
+
+ so.load_from_db()
+ self.assertRaises(frappe.LinkExistsError, so.cancel)
+
def test_payment_terms_are_fetched_when_creating_sales_invoice(self):
from erpnext.accounts.doctype.payment_entry.test_payment_entry import (
create_payment_terms_template,