38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
import { readFile } from "node:fs/promises";
|
|
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
async function repositoryFile(path: string): Promise<string> {
|
|
return readFile(new URL(`../${path}`, import.meta.url), "utf8");
|
|
}
|
|
|
|
describe("public rendering performance", () => {
|
|
it("keeps the directory eligible for a populated static shell", async () => {
|
|
const [layout, page] = await Promise.all([
|
|
repositoryFile("app/layout.tsx"),
|
|
repositoryFile("app/page.tsx"),
|
|
]);
|
|
|
|
expect(layout).not.toContain("export const instant = false");
|
|
expect(page).not.toContain("export const instant = false");
|
|
expect(page).toContain("async function DirectoryContent()");
|
|
expect(page).toContain("await connection()");
|
|
expect(page).toContain('fallback={<div className="min-h-svh"');
|
|
});
|
|
|
|
it("isolates request-time header authentication", async () => {
|
|
const header = await repositoryFile("components/public/site-header.tsx");
|
|
|
|
expect(header).toContain("<Suspense fallback={null}>");
|
|
expect(header).toContain("<AdminEditLink");
|
|
});
|
|
|
|
it("preloads only the first directory cover", async () => {
|
|
const directory = await repositoryFile(
|
|
"components/public/structured-directory.tsx",
|
|
);
|
|
|
|
expect(directory).toContain("preload={index === 0}");
|
|
});
|
|
});
|