Files
cfw-autumn/server/tests/unit/vercelSdkOptions.test.ts

62 lines
1.8 KiB
TypeScript

import { afterEach, describe, expect, test } from "bun:test";
import { makeTestWorkerEnv } from "@tests/utils/testWorkerEnv.js";
import { getVercelSdkServerURL } from "@/external/vercel/misc/vercelSdkOptions.js";
describe("getVercelSdkServerURL", () => {
const originalNodeEnv = process.env.NODE_ENV;
const originalBetterAuthUrl = process.env.BETTER_AUTH_URL;
afterEach(() => {
process.env.NODE_ENV = originalNodeEnv;
if (originalBetterAuthUrl === undefined) {
delete process.env.BETTER_AUTH_URL;
} else {
process.env.BETTER_AUTH_URL = originalBetterAuthUrl;
}
});
test("returns undefined by default in development", () => {
process.env.NODE_ENV = "development";
process.env.BETTER_AUTH_URL = "http://localhost:8080";
const env = makeTestWorkerEnv({
NODE_ENV: "development",
BETTER_AUTH_URL: "http://localhost:8080",
});
expect(getVercelSdkServerURL({ env })).toBeUndefined();
expect(
getVercelSdkServerURL({ env, testOptions: { mockVercelApi: false } }),
).toBeUndefined();
});
test("returns the local mock URL when explicitly enabled", () => {
process.env.NODE_ENV = "development";
process.env.BETTER_AUTH_URL = "http://localhost:8080/";
expect(
getVercelSdkServerURL({
env: makeTestWorkerEnv({
NODE_ENV: "development",
BETTER_AUTH_URL: "http://localhost:8080/",
}),
testOptions: { mockVercelApi: true },
}),
).toBe("http://localhost:8080/__test/vercel/api");
});
test("returns undefined in production even when enabled", () => {
process.env.NODE_ENV = "production";
process.env.BETTER_AUTH_URL = "http://localhost:8080";
expect(
getVercelSdkServerURL({
env: makeTestWorkerEnv({
NODE_ENV: "production",
BETTER_AUTH_URL: "http://localhost:8080",
}),
testOptions: { mockVercelApi: true },
}),
).toBeUndefined();
});
});