27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { getOnboardingAccessState } from "./claim-state";
|
|
|
|
describe("getOnboardingAccessState", () => {
|
|
it("requires existing installations to sign in even when a legacy step normalizes to start", () => {
|
|
expect(
|
|
getOnboardingAccessState({
|
|
currentStep: "start",
|
|
canConfigurePrivileged: false,
|
|
hasUsers: true,
|
|
externalAuthEnabled: false,
|
|
}),
|
|
).toBe("signIn");
|
|
});
|
|
|
|
it.each([
|
|
[{ currentStep: "start", canConfigurePrivileged: false, hasUsers: false, externalAuthEnabled: false }, "ready"],
|
|
[{ currentStep: "user", canConfigurePrivileged: false, hasUsers: false, externalAuthEnabled: false }, "claim"],
|
|
[{ currentStep: "setup", canConfigurePrivileged: false, hasUsers: false, externalAuthEnabled: true }, "signIn"],
|
|
[{ currentStep: "setup", canConfigurePrivileged: true, hasUsers: true, externalAuthEnabled: false }, "ready"],
|
|
[{ currentStep: "finish", canConfigurePrivileged: false, hasUsers: true, externalAuthEnabled: false }, "ready"],
|
|
] as const)("resolves %o to %s", (environment, expected) => {
|
|
expect(getOnboardingAccessState(environment)).toBe(expected);
|
|
});
|
|
});
|