Skip to content
File

Blob: tests/worker/sites/manifest.test.ts

typescript30 lines
1import { beforeEach, describe, expect, it, vi } from "vitest";
2 
3import { SITES_BROWSER_ENTRY, SITES_FONTS_SOURCE, SITES_STYLES_SOURCE } from "@/shared/sites/entrypoints";
4import { resetSitesManifestCacheForTests, resolveSitesDocumentAssets } from "@/worker/sites/manifest";
5 
6function createMissingAssetsEnv(): Pick<Env, "ASSETS"> {
7 return {
8 ASSETS: {
9 fetch: vi.fn().mockResolvedValue(new Response("not found", { status: 404 })),
10 } as unknown as Fetcher,
11 };
12}
13 
14describe("resolveSitesDocumentAssets", () => {
15 beforeEach(() => {
16 resetSitesManifestCacheForTests();
17 });
18 
19 it("uses Vite source paths in dev builds when the built manifest is absent", async () => {
20 const assets = await resolveSitesDocumentAssets(createMissingAssetsEnv());
21 
22 expect(assets).toEqual({
23 stylesheetHref: `/${SITES_STYLES_SOURCE}?direct`,
24 fontStylesheetHref: `/${SITES_FONTS_SOURCE}?direct`,
25 scriptSrc: `/${SITES_BROWSER_ENTRY}`,
26 modulePreloadHrefs: [],
27 });
28 });
29});