Files
EpicNext-Cms/src/lib/admin/rank-authority.test.ts
T
openhands df38dccbf1
Local Build and Deploy / deploy (push) Failing after 46s
style: format code biome
2026-07-13 21:57:41 +02:00

39 lines
1.0 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { resolveAuthorizationState } from "@/lib/admin/rank-authority";
function db(
user: { id: number; username: string; rank: number } | null,
highest: number | null,
) {
return {
user: { findUnique: async () => user },
highestRank: async () => highest,
};
}
describe("resolveAuthorizationState", () => {
it("uses current database rank and highest rank 2000", async () => {
await expect(
resolveAuthorizationState(
7,
db({ id: 7, username: "root", rank: 2000 }, 2000),
),
).resolves.toEqual({
actor: { id: 7, username: "root", rank: 2000 },
highestRank: 2000,
});
});
it("returns null for a deleted user", async () =>
expect(resolveAuthorizationState(7, db(null, 2000))).resolves.toBeNull());
it("fails closed when there are no ranks", async () =>
expect(
resolveAuthorizationState(
7,
db({ id: 7, username: "root", rank: 1 }, null),
),
).resolves.toEqual({
actor: { id: 7, username: "root", rank: 1 },
highestRank: null,
}));
});