fix: close durable queue and runtime gaps
This commit is contained in:
@@ -32,6 +32,32 @@ test("server loader data is available to page rendering", async () => {
|
||||
expect(await response!.text()).toContain("Ada,Lin / 2");
|
||||
});
|
||||
|
||||
test("a server loader can return a redirect Response", async () => {
|
||||
const root = mkdtempSync(join(tmpdir(), "wrnexus-load-redirect-"));
|
||||
roots.push(root);
|
||||
const app = join(root, "app");
|
||||
mkdirSync(join(app, "pages"), { recursive: true });
|
||||
writeFileSync(join(app, "pages/private.ts"), "export default () => '';\n");
|
||||
const handlers = createHandlers({
|
||||
mode: "production",
|
||||
hmr: false,
|
||||
router: buildRouter(app),
|
||||
loadModule: async () => ({
|
||||
__wrnexusLoad: async () => Response.redirect("https://example.test/login", 303),
|
||||
default: () => {
|
||||
throw new Error("redirected pages must not render");
|
||||
},
|
||||
}),
|
||||
getMiddleware: async () => [],
|
||||
assets: { serve: async () => null },
|
||||
} satisfies RuntimeDeps);
|
||||
const response = await handlers.fetch(new Request("https://example.test/private"), {
|
||||
upgrade: () => false,
|
||||
});
|
||||
expect(response?.status).toBe(303);
|
||||
expect(response?.headers.get("location")).toBe("https://example.test/login");
|
||||
});
|
||||
|
||||
test("HMR page synchronization initializes request-scoped loader caching", async () => {
|
||||
const root = mkdtempSync(join(tmpdir(), "wrnexus-hmr-load-runtime-"));
|
||||
roots.push(root);
|
||||
|
||||
Reference in New Issue
Block a user