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("