mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 20:37:21 +00:00
78 lines
2.4 KiB
TypeScript
78 lines
2.4 KiB
TypeScript
import { expect, describe, it, beforeAll, afterAll } from "bun:test";
|
|
import * as adapter from "adapter";
|
|
import { disableConsoleLog, enableConsoleLog } from "core/utils";
|
|
import { adapterTestSuite } from "adapter/adapter-test-suite";
|
|
import { bunTestRunner } from "adapter/bun/test";
|
|
import { omitKeys } from "core/utils";
|
|
|
|
beforeAll(disableConsoleLog);
|
|
afterAll(enableConsoleLog);
|
|
|
|
describe("adapter", () => {
|
|
it("makes config", () => {
|
|
expect(omitKeys(adapter.makeConfig({}), ["connection"])).toEqual({});
|
|
expect(omitKeys(adapter.makeConfig({}, { env: { TEST: "test" } }), ["connection"])).toEqual(
|
|
{},
|
|
);
|
|
|
|
// merges everything returned from `app` with the config
|
|
expect(
|
|
omitKeys(
|
|
adapter.makeConfig(
|
|
{ app: (a) => ({ initialConfig: { server: { cors: { origin: a.env.TEST } } } }) },
|
|
{ env: { TEST: "test" } },
|
|
),
|
|
["connection"],
|
|
),
|
|
).toEqual({
|
|
initialConfig: { server: { cors: { origin: "test" } } },
|
|
});
|
|
});
|
|
|
|
/* it.only("...", async () => {
|
|
const app = await adapter.createAdapterApp();
|
|
}); */
|
|
|
|
it("reuses apps correctly", async () => {
|
|
const id = crypto.randomUUID();
|
|
|
|
const first = await adapter.createAdapterApp(
|
|
{
|
|
initialConfig: { server: { cors: { origin: "random" } } },
|
|
},
|
|
undefined,
|
|
{ id },
|
|
);
|
|
const second = await adapter.createAdapterApp();
|
|
const third = await adapter.createAdapterApp(undefined, undefined, { id });
|
|
|
|
await first.build();
|
|
await second.build();
|
|
await third.build();
|
|
|
|
expect(first.toJSON().server.cors.origin).toEqual("random");
|
|
expect(first).toBe(third);
|
|
expect(first).not.toBe(second);
|
|
expect(second).not.toBe(third);
|
|
expect(second.toJSON().server.cors.origin).toEqual("*");
|
|
|
|
// recreate the first one
|
|
const first2 = await adapter.createAdapterApp(undefined, undefined, { id, force: true });
|
|
await first2.build();
|
|
expect(first2).not.toBe(first);
|
|
expect(first2).not.toBe(third);
|
|
expect(first2).not.toBe(second);
|
|
expect(first2.toJSON().server.cors.origin).toEqual("*");
|
|
});
|
|
|
|
adapterTestSuite(bunTestRunner, {
|
|
makeApp: adapter.createFrameworkApp,
|
|
label: "framework app",
|
|
});
|
|
|
|
adapterTestSuite(bunTestRunner, {
|
|
makeApp: adapter.createRuntimeApp,
|
|
label: "runtime app",
|
|
});
|
|
});
|