53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { afterEach, describe, expect, mock, test } from "bun:test";
|
|
import path from "path";
|
|
import type { GrabPageComponentRes } from "../../../types";
|
|
|
|
mock.module("../../../../src/utils/log", () => ({
|
|
log: {
|
|
info: mock((msg: string) => {}),
|
|
error: mock((msg: string) => {}),
|
|
},
|
|
}));
|
|
|
|
mock.module("../../../../src/utils/is-development", () => ({
|
|
default: () => false
|
|
}));
|
|
|
|
mock.module("../../../../src/functions/server/full-rebuild", () => ({
|
|
default: async () => {}
|
|
}));
|
|
|
|
mock.module("../../../../src/functions/server/server-post-build-fn", () => ({
|
|
default: async () => {}
|
|
}));
|
|
|
|
import { log } from "../../../../src/utils/log";
|
|
import grabPageComponent from "../../../../src/functions/server/web-pages/grab-page-component";
|
|
|
|
describe("grabPageComponent", () => {
|
|
const originalRouter = global.BUNEXT_ROUTER;
|
|
|
|
afterEach(() => {
|
|
global.BUNEXT_ROUTER = originalRouter;
|
|
mock.restore();
|
|
});
|
|
|
|
test("does not log an error for expected 404 page lookups", async () => {
|
|
global.BUNEXT_ROUTER = new Bun.FileSystemRouter({
|
|
style: "nextjs",
|
|
dir: path.resolve(__dirname, "../../../../test/e2e-fixture/src/pages"),
|
|
});
|
|
|
|
const res = await grabPageComponent({
|
|
req: new Request("http://localhost:3000/unknown-foo-bar123"),
|
|
});
|
|
|
|
console.log("DEBUG-404:", res instanceof Response ? "Response" : JSON.stringify(res));
|
|
expect(res).not.toBeInstanceOf(Response);
|
|
expect(
|
|
(res as GrabPageComponentRes).serverRes?.response_options?.status,
|
|
).toBe(404);
|
|
expect(log.error).not.toHaveBeenCalled();
|
|
});
|
|
});
|