declare const process: { cwd(): string }; declare function require(name: string): { readFileSync?: (path: string, encoding: string) => string; join?: (...parts: string[]) => string; }; const { readFileSync } = require("node:fs"); const { join } = require("node:path"); if (!readFileSync || !join) { throw new Error("测试运行环境缺少文件读取能力"); } const view = readFileSync(join(process.cwd(), "src/views/OrganizationView.vue"), "utf-8"); const css = readFileSync(join(process.cwd(), "src/assets/styles.css"), "utf-8"); assertIncludes(view, "organization-tree-layout"); assertIncludes(view, "organization-tree"); assertIncludes(view, "tree-node"); assertIncludes(view, "selectedNode"); assertIncludes(view, "部门详情"); assertIncludes(view, "岗位详情"); assertNotIncludes(view, "

部门列表

"); assertNotIncludes(view, "

岗位列表

"); assertIncludes(css, ".organization-tree-layout"); assertIncludes(css, ".organization-tree-panel"); assertIncludes(css, ".organization-detail-panel"); assertIncludes(css, ".tree-node"); function assertIncludes(content: string, expected: string): void { if (!content.includes(expected)) { throw new Error(`期望包含 ${expected}`); } } function assertNotIncludes(content: string, unexpected: string): void { if (content.includes(unexpected)) { throw new Error(`不应包含 ${unexpected}`); } }