Files
shanxia2.0/backend/tests/test_crm_name_pinyin_search.py
T
2026-08-07 17:18:59 +08:00

27 lines
793 B
Python

"""产品列表 keyword:名称/编号/拼音首字母 OR 匹配。"""
from __future__ import annotations
from unittest.mock import MagicMock
from app.crud.crm.product import list_products
def test_list_products_keyword_includes_name_and_pinyin():
db = MagicMock()
q = MagicMock()
db.query.return_value = q
q.filter.return_value = q
q.order_by.return_value = q
q.with_entities.return_value = q
q.scalar.return_value = 0
q.offset.return_value = q
q.limit.return_value = q
q.all.return_value = []
list_products(db, "shanxia2.0", keyword="gyls")
assert q.filter.call_count >= 2
keyword_expr = " ".join(str(a) for a in q.filter.call_args_list[1][0])
assert "product_name" in keyword_expr
assert "name_pinyin_abbr" in keyword_expr