import { describe, it, expect } from "vitest" import { Shrimp, ShrimpTableModule, MemoryShrimpCrud, UserModule, RoleModule } from "../src" describe("Shrimp.getMenuTree", () => { it("返回的 label 等于模块注册时声明的 label", () => { const shrimp = new Shrimp() new ShrimpTableModule(shrimp, "tag", new MemoryShrimpCrud(), [], "标签管理") new ShrimpTableModule(shrimp, "product", new MemoryShrimpCrud(), [], { t: "product.menuManage" }) const tree = shrimp.getMenuTree() expect(tree).toEqual([ { name: "tag", label: "标签管理", moduleKey: "tag" }, { name: "product", label: { t: "product.menuManage" }, moduleKey: "product" }, ]) }) it("内置 UserModule / RoleModule 的菜单 label 用 user.menuManage / role.menuManage", () => { const shrimp = new Shrimp() new UserModule(shrimp, new MemoryShrimpCrud() as any) new RoleModule(shrimp, new MemoryShrimpCrud() as any) const tree = shrimp.getMenuTree() expect(tree.find(m => m.moduleKey === "user")?.label).toEqual({ t: "user.menuManage" }) expect(tree.find(m => m.moduleKey === "role")?.label).toEqual({ t: "role.menuManage" }) }) })