import frappe from frappe.tests.utils import FrappeTestCase INDEXED_FIELDS = { "Bin": ["item_code"], "GL Entry": ["voucher_type", "against_voucher_type"], "Purchase Order Item": ["item_code"], "Stock Ledger Entry": ["warehouse"], } class TestPerformance(FrappeTestCase): def test_ensure_indexes(self): # These fields are not explicitly indexed BUT they are prefix in some # other composite index. If those are removed this test should be # updated accordingly. for doctype, fields in INDEXED_FIELDS.items(): for field in fields: self.assertTrue( frappe.db.sql( f"""SHOW INDEX FROM `tab{doctype}` WHERE Column_name = "{field}" AND Seq_in_index = 1""" ) )