Files
ctms/frontend/src/views/documents/DocumentList.test.ts
T
Cheng Zhou 90ca061db8 优化文档管理与导航体验
1、为文档增加编辑接口和前端编辑抽屉,文档列表与详情页统一按创建、更新、删除权限展示操作。

2、将文档版本上传和分发改为抽屉交互,并在详情页补充版本删除权限检查。

3、增强全局面包屑上下文和详情页标题同步,避免详情页重复或缺失导航信息。

4、按项目权限过滤快捷入口、首页费用指标和 eTMF 新建入口,并补充对应前端测试。
2026-06-04 11:11:28 +08:00

32 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
const readSource = () => readFileSync(resolve(__dirname, "./DocumentList.vue"), "utf8");
describe("DocumentList permissions", () => {
it("guards create edit and delete actions with document operation permissions", () => {
const source = readSource();
expect(source).toContain('can("documents.create")');
expect(source).toContain('can("documents.update")');
expect(source).toContain('can("documents.delete")');
expect(source).toContain('v-if="canCreate"');
expect(source).toContain('v-if="canUpdate"');
expect(source).toContain('v-if="canDelete"');
expect(source).toContain('@click.stop="openEdit(row)"');
expect(source).not.toContain(':disabled="!canCreate"');
});
it("uses a drawer for creating documents instead of a dialog", () => {
const source = readSource();
expect(source).toContain("<el-drawer");
expect(source).toContain('class="document-editor-drawer"');
expect(source).toContain('class="editor-header"');
expect(source).toContain('class="drawer-footer"');
expect(source).not.toContain("<el-dialog");
expect(source).not.toContain('append-to=".layout-main .content-wrapper"');
});
});