25 lines
703 B
Python
25 lines
703 B
Python
|
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"""
|
||
|
)
|
||
|
)
|