Files
juwan-frontend/tests/policy-decision.test.ts
T

32 lines
734 B
TypeScript

import { allow, deny, requireAuth } from "@/lib/policy/assert"
import { describe, expect, it } from "vitest"
describe("policy decision helpers", () => {
it("returns ok for allow", () => {
expect(allow()).toEqual({ ok: true })
})
it("returns reason code for deny", () => {
expect(deny("ROLE_FORBIDDEN", "forbidden")).toEqual({
ok: false,
reasonCode: "ROLE_FORBIDDEN",
message: "forbidden",
})
})
it("requires auth actor", () => {
expect(requireAuth(undefined)).toEqual({
ok: false,
reasonCode: "AUTH_REQUIRED",
message: "请先登录",
})
expect(
requireAuth({
userId: "u1",
role: "consumer",
}),
).toEqual({ ok: true })
})
})