Files
zkxw/backend/tests/test_dept_tree_search.py
T
2026-05-20 15:10:55 +08:00

36 lines
1.1 KiB
Python

"""组织树关键词检索:匹配子节点须带上祖先才能组树。"""
from app.crud.dept import _build_tree, _collect_with_ancestors
def _item(dept_id: str, name: str, parent_id: str = "0") -> dict:
return {
"id": dept_id,
"parentId": parent_id,
"deptName": name,
"orderNum": 0,
}
def test_collect_with_ancestors_includes_parent_chain():
flat = [
_item("root", "市场营销部门"),
_item("child", "采集部", "root"),
]
expanded = _collect_with_ancestors(flat, {"child"})
ids = {x["id"] for x in expanded}
assert ids == {"root", "child"}
def test_build_tree_shows_child_under_parent_after_keyword_expand():
flat = [
_item("root", "市场营销部门"),
_item("child", "采集部", "root"),
]
expanded = _collect_with_ancestors(flat, {"child"})
tree = _build_tree(expanded, "0")
assert len(tree) == 1
assert tree[0]["deptName"] == "市场营销部门"
assert len(tree[0]["children"]) == 1
assert tree[0]["children"][0]["deptName"] == "采集部"