test: SO reference validation

(cherry picked from commit 4f396d3049)
This commit is contained in:
ruthra kumar
2024-03-16 14:39:57 +05:30
committed by Mergify
parent 28d3525b42
commit 409a65ec64
2 changed files with 12 additions and 2 deletions

View File

@@ -2156,13 +2156,14 @@ def make_sales_order(**args):
return so
def create_dn_against_so(so, delivered_qty=0):
def create_dn_against_so(so, delivered_qty=0, do_not_submit=False):
frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
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

View File

@@ -813,6 +813,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")