From f66ef869fcce3d8b223d2ecdebfe238730ab07b5 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Sun, 21 Jun 2026 10:25:30 +0530 Subject: [PATCH] test(stock): use db-agnostic index introspection in Bin index test test_index_exists used `frappe.db.sql("show index from tabBin ...")`. "SHOW INDEX" is MySQL-only syntax and errors on Postgres (syntax error at "from"), so the test could not run there. Use the db-agnostic frappe.db.has_index("tabBin", "unique_item_warehouse") instead. Co-Authored-By: Claude Opus 4.8 (1M context) --- erpnext/stock/doctype/bin/test_bin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/bin/test_bin.py b/erpnext/stock/doctype/bin/test_bin.py index ef21bcf7833..e66e453aca1 100644 --- a/erpnext/stock/doctype/bin/test_bin.py +++ b/erpnext/stock/doctype/bin/test_bin.py @@ -27,6 +27,6 @@ class TestBin(ERPNextTestSuite): self.assertEqual(bin.item_code, item_code) def test_index_exists(self): - indexes = frappe.db.sql("show index from tabBin where Non_unique = 0", as_dict=1) - if not any(index.get("Key_name") == "unique_item_warehouse" for index in indexes): + # has_index is db-agnostic; raw "SHOW INDEX" is MySQL-only and errors on Postgres + if not frappe.db.has_index("tabBin", "unique_item_warehouse"): self.fail("Expected unique index on item-warehouse")