forked from baron/baron-sso
39 lines
989 B
TypeScript
39 lines
989 B
TypeScript
// @vitest-environment node
|
|
|
|
import { describe, expect, it, vi } from "vitest";
|
|
import {
|
|
normalizeUserStatusValue,
|
|
userStatusLabel,
|
|
userStatusValues,
|
|
} from "./userStatus";
|
|
|
|
vi.mock("../../lib/i18n", () => ({
|
|
t: (key: string, fallback?: string) => fallback ?? key,
|
|
}));
|
|
|
|
describe("userStatus", () => {
|
|
it("exposes canonical user status values", () => {
|
|
expect(userStatusValues).toEqual([
|
|
"active",
|
|
"temporary_leave",
|
|
"suspended",
|
|
"preboarding",
|
|
"baron_guest",
|
|
"extended_leave",
|
|
"archived",
|
|
]);
|
|
});
|
|
|
|
it("normalizes legacy status values", () => {
|
|
expect(normalizeUserStatusValue("inactive")).toBe("preboarding");
|
|
expect(normalizeUserStatusValue("leave_of_absence")).toBe(
|
|
"temporary_leave",
|
|
);
|
|
expect(normalizeUserStatusValue("baron_only")).toBe("baron_guest");
|
|
});
|
|
|
|
it("uses canonical labels for legacy status values", () => {
|
|
expect(userStatusLabel("baron_only")).toBe("baron_guest");
|
|
});
|
|
});
|