From e5d4b4f0f02f9de83cda794b783791a194db6a44 Mon Sep 17 00:00:00 2001 From: ravibharathi656 Date: Mon, 25 Aug 2025 21:04:51 +0530 Subject: [PATCH] test: add pending quantity check for invoice creation --- .../doctype/sales_order/test_sales_order.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py index 3e53d0e4de9..d3cbc3c18c2 100644 --- a/erpnext/selling/doctype/sales_order/test_sales_order.py +++ b/erpnext/selling/doctype/sales_order/test_sales_order.py @@ -2568,6 +2568,31 @@ class TestSalesOrder(AccountsTestMixin, IntegrationTestCase): po.submit() self.assertEqual(po.taxes[0].tax_amount, 2) + def test_pending_quantity_after_update_item_during_invoice_creation(self): + so = make_sales_order(qty=30, rate=100) + + si1 = make_sales_invoice(so.name) + si1.update_stock = 1 + si1.get("items")[0].qty = 10 + si1.insert() + si1.submit() + + first_item_of_so = so.get("items")[0] + trans_item = json.dumps( + [ + { + "item_code": first_item_of_so.item_code, + "rate": 1000, + "qty": first_item_of_so.qty, + "docname": first_item_of_so.name, + }, + ] + ) + update_child_qty_rate("Sales Order", trans_item, so.name) + + si2 = make_sales_invoice(so.name) + self.assertEqual(si2.items[0].qty, 20) + def automatically_fetch_payment_terms(enable=1): accounts_settings = frappe.get_doc("Accounts Settings")