25 lines
755 B
TypeScript
25 lines
755 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { isAuthorizedAdmin } from "./authorization";
|
|
|
|
const verified = {
|
|
id: "admin",
|
|
email: "[email protected]",
|
|
emailVerified: true,
|
|
};
|
|
|
|
describe("admin authorization", () => {
|
|
it("requires an exact verified email match", () => {
|
|
expect(isAuthorizedAdmin(verified, "[email protected]")).toBe(true);
|
|
expect(isAuthorizedAdmin(verified, "[email protected]")).toBe(false);
|
|
expect(
|
|
isAuthorizedAdmin({ ...verified, emailVerified: false }, verified.email),
|
|
).toBe(false);
|
|
});
|
|
|
|
it("denies missing users and missing configuration", () => {
|
|
expect(isAuthorizedAdmin(null, verified.email)).toBe(false);
|
|
expect(isAuthorizedAdmin(verified, undefined)).toBe(false);
|
|
});
|
|
});
|