test: add test for validating sales invoice qty after return

(cherry picked from commit 14646b1952)

# Conflicts:
#	erpnext/stock/doctype/delivery_note/test_delivery_note.py
This commit is contained in:
ravibharathi656
2025-06-10 18:58:34 +05:30
committed by Mergify
parent 5f03266ab5
commit 6410ac0c24

View File

@@ -6,7 +6,11 @@ import json
from collections import defaultdict
import frappe
<<<<<<< HEAD
from frappe.tests.utils import FrappeTestCase
=======
from frappe.tests import IntegrationTestCase, change_settings
>>>>>>> 14646b1952 (test: add test for validating sales invoice qty after return)
from frappe.utils import add_days, cstr, flt, getdate, nowdate, nowtime, today
from erpnext.accounts.doctype.account.test_account import get_inventory_account
@@ -1022,6 +1026,30 @@ class TestDeliveryNote(FrappeTestCase):
self.assertEqual(dn2.per_billed, 100)
self.assertEqual(dn2.status, "Completed")
@change_settings("Accounts Settings", {"delete_linked_ledger_entries": True})
def test_sales_invoice_qty_after_return(self):
from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_return
dn = create_delivery_note(qty=10)
dnr1 = make_sales_return(dn.name)
dnr1.get("items")[0].qty = -3
dnr1.save().submit()
dnr2 = make_sales_return(dn.name)
dnr2.get("items")[0].qty = -2
dnr2.save().submit()
si = make_sales_invoice(dn.name)
si.save().submit()
self.assertEqual(si.get("items")[0].qty, 5)
si.reload().cancel().delete()
dnr1.reload().cancel().delete()
dnr2.reload().cancel().delete()
dn.reload().cancel().delete()
def test_dn_billing_status_case3(self):
# SO -> DN1 -> SI and SO -> SI and SO -> DN2
from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note