test: purchase order on hold
diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
index f150736..4b2be98 100644
--- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
@@ -120,6 +120,15 @@
 		self.assertEqual(pi.doctype, "Purchase Invoice")
 		self.assertEqual(len(pi.get("items", [])), 1)
 
+	def test_purchase_order_on_hold(self):
+		po = create_purchase_order(item_code="_Test Product Bundle Item")
+		po.db_set('Status', "On Hold")
+		pi = make_purchase_invoice(po.name)
+		pr = make_purchase_receipt(po.name)
+		self.assertRaises(frappe.ValidationError, pr.submit)
+		self.assertRaises(frappe.ValidationError, pi.submit)
+
+
 	def test_make_purchase_invoice_with_terms(self):
 		po = create_purchase_order(do_not_save=True)