From a703e7a4620379f1f8dde1edf488f07f5d25e3f4 Mon Sep 17 00:00:00 2001 From: Shllokkk Date: Tue, 4 Aug 2026 17:03:25 +0530 Subject: [PATCH] test: child warehouse account override excluded in stock vs account value comparison (cherry picked from commit ef7a3cb4c879ee550d6506d06e6bd4a2d62cc3b6) # Conflicts: # erpnext/stock/report/stock_and_account_value_comparison/test_stock_and_account_value_comparison.py --- ...test_stock_and_account_value_comparison.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/erpnext/stock/report/stock_and_account_value_comparison/test_stock_and_account_value_comparison.py b/erpnext/stock/report/stock_and_account_value_comparison/test_stock_and_account_value_comparison.py index 0795bc6ad79..cd2655e6c73 100644 --- a/erpnext/stock/report/stock_and_account_value_comparison/test_stock_and_account_value_comparison.py +++ b/erpnext/stock/report/stock_and_account_value_comparison/test_stock_and_account_value_comparison.py @@ -6,6 +6,8 @@ from frappe.utils import today from erpnext.stock.doctype.item.test_item import make_item from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt +from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse +from erpnext.stock.doctype.warehouse.warehouse import get_warehouses_based_on_account from erpnext.stock.report.stock_and_account_value_comparison.stock_and_account_value_comparison import ( create_reposting_entries, execute, @@ -55,3 +57,22 @@ class TestStockAndAccountValueComparison(ERPNextTestSuite): filters={"based_on": "Item and Warehouse", "item_code": item}, ) self.assertFalse(item_wh_rivs, "Purchase vouchers must not be reposted Item-and-Warehouse based") + + def test_child_account_override_excluded_from_group_account(self): + # A group warehouse carries an inventory account; a child (e.g. Goods-in-Transit) can override + # it with its own account. get_warehouses_based_on_account must return only warehouses whose + # effective account matches, excluding the overriding child. + group = create_warehouse("_Test SAVC Group WH", {"is_group": 1}, company=PI_COMPANY) + group_account = frappe.get_value("Warehouse", group, "account") + + inheriting = create_warehouse( + "_Test SAVC Inherit WH", {"parent_warehouse": group, "account": group_account}, company=PI_COMPANY + ) + overriding = create_warehouse( + "_Test SAVC Transit WH", {"parent_warehouse": group}, company=PI_COMPANY + ) + + warehouses = get_warehouses_based_on_account(group_account, PI_COMPANY) + + self.assertIn(inheriting, warehouses) + self.assertNotIn(overriding, warehouses)