Files
WonderQ-Project/WonderQ-Admin-UI-Vue/src/lib/system-resource.test.ts
duanshuwen f087663b5b feat(system): 实现RuoYi风格的RBAC管理页面
新增系统资源工具函数库,包含树形结构构建、树过滤和数据范围中文标签转换;重构系统资源编辑器组件,改用树形选择器优化权限配置并新增表单验证;重构系统管理页面布局,统一使用RuoYi风格样式,新增多维度筛选搜索功能,优化各资源表格展示;新增用户密码重置功能,移除过时的useSystemResource钩子并更新测试用例。
2026-08-26 23:46:41 +08:00

30 lines
1.1 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { buildSystemTree, dataScopeLabel, filterSystemTree } from "@/lib/system-resource";
describe("system resource tree helpers", () => {
const items = [
{ id: "root", name: "系统管理", parentId: null, sortOrder: 10 },
{ id: "child", name: "用户管理", parentId: "root", sortOrder: 20 },
{ id: "other", name: "首页", parentId: null, sortOrder: 5 },
];
it("builds a stable parent-child tree ordered by sort", () => {
expect(buildSystemTree(items)).toEqual([
{ ...items[2], children: [] },
{ ...items[0], children: [{ ...items[1], children: [] }] },
]);
});
it("keeps matching ancestors when filtering a tree", () => {
expect(filterSystemTree(buildSystemTree(items), "用户")).toEqual([
{ ...items[0], children: [{ ...items[1], children: [] }] },
]);
});
it("uses RuoYi-compatible Chinese labels for data scope", () => {
expect(dataScopeLabel("all")).toBe("全部数据");
expect(dataScopeLabel("dept_and_children")).toBe("本部门及以下");
expect(dataScopeLabel("custom_dept")).toBe("自定义数据");
});
});