feat: add gated housekeeping foundation preview
This commit is contained in:
1 parent
cc241f0b7e
commit
d19ba88005
9 files changed
+516
No files matched your search
@@ -0,0 +1,58 @@
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { isHousekeepingPreviewEnabled } from "./preview-gate";
|
||||
|
||||
describe("isHousekeepingPreviewEnabled", () => {
|
||||
it.each([
|
||||
["development", true, true],
|
||||
["test", true, true],
|
||||
["development", false, false],
|
||||
["production", true, false],
|
||||
["production", false, false],
|
||||
] as const)("NODE_ENV=%s flag=%s => %s", (nodeEnv, flag, expected) => {
|
||||
expect(isHousekeepingPreviewEnabled({ nodeEnv, flag })).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
||||
describe("HOUSEKEEPING_NEXT_PREVIEW_ENABLED", () => {
|
||||
const originalSkipValidation = process.env.SKIP_ENV_VALIDATION;
|
||||
const originalPreviewFlag = process.env.HOUSEKEEPING_NEXT_PREVIEW_ENABLED;
|
||||
|
||||
beforeEach(() => {
|
||||
vi.resetModules();
|
||||
delete process.env.SKIP_ENV_VALIDATION;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
if (originalSkipValidation === undefined) {
|
||||
delete process.env.SKIP_ENV_VALIDATION;
|
||||
} else {
|
||||
process.env.SKIP_ENV_VALIDATION = originalSkipValidation;
|
||||
}
|
||||
|
||||
if (originalPreviewFlag === undefined) {
|
||||
delete process.env.HOUSEKEEPING_NEXT_PREVIEW_ENABLED;
|
||||
} else {
|
||||
process.env.HOUSEKEEPING_NEXT_PREVIEW_ENABLED = originalPreviewFlag;
|
||||
}
|
||||
|
||||
vi.resetModules();
|
||||
});
|
||||
|
||||
it.each([
|
||||
["true", true],
|
||||
["1", true],
|
||||
["false", false],
|
||||
["yes", false],
|
||||
[undefined, false],
|
||||
] as const)("normalizes %s to %s", async (value, expected) => {
|
||||
if (value === undefined) {
|
||||
delete process.env.HOUSEKEEPING_NEXT_PREVIEW_ENABLED;
|
||||
} else {
|
||||
process.env.HOUSEKEEPING_NEXT_PREVIEW_ENABLED = value;
|
||||
}
|
||||
|
||||
const { env } = await import("@/env");
|
||||
|
||||
expect(env.HOUSEKEEPING_NEXT_PREVIEW_ENABLED).toBe(expected);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user