58 lines · 2.0 KB · TypeScript
RawDownload
import { describe, expect, it } from "vite-plus/test"; import {  BRAND_ASSET_PATHS,  DEVELOPMENT_ICON_OVERRIDES,  PUBLISH_ICON_OVERRIDES,  resolveWebAssetBrandForChannel,  resolveWebIconOverrides,} from "./brand-assets.ts"; describe("brand-assets", () => {  it("maps server publish web assets to production icons", () => {    expect(PUBLISH_ICON_OVERRIDES).toEqual([      {        sourceRelativePath: BRAND_ASSET_PATHS.productionWebFaviconIco,        targetRelativePath: "dist/client/favicon.ico",      },      {        sourceRelativePath: BRAND_ASSET_PATHS.productionWebFavicon16Png,        targetRelativePath: "dist/client/favicon-16x16.png",      },      {        sourceRelativePath: BRAND_ASSET_PATHS.productionWebFavicon32Png,        targetRelativePath: "dist/client/favicon-32x32.png",      },      {        sourceRelativePath: BRAND_ASSET_PATHS.productionWebAppleTouchIconPng,        targetRelativePath: "dist/client/apple-touch-icon.png",      },    ]);  });   it("maps server build web assets to development icons", () => {    expect(DEVELOPMENT_ICON_OVERRIDES[0]).toEqual({      sourceRelativePath: BRAND_ASSET_PATHS.developmentWebFaviconIco,      targetRelativePath: "dist/client/favicon.ico",    });  });   it("can target hosted web dist directly", () => {    expect(resolveWebIconOverrides("production", "apps/web/dist")).toContainEqual({      sourceRelativePath: BRAND_ASSET_PATHS.productionWebAppleTouchIconPng,      targetRelativePath: "apps/web/dist/apple-touch-icon.png",    });  });   it("maps hosted nightly web assets to nightly icons", () => {    expect(resolveWebIconOverrides("nightly", "apps/web/dist")).toContainEqual({      sourceRelativePath: BRAND_ASSET_PATHS.nightlyWebFaviconIco,      targetRelativePath: "apps/web/dist/favicon.ico",    });  });   it("maps hosted release channels to web asset brands", () => {    expect(resolveWebAssetBrandForChannel("latest")).toBe("production");    expect(resolveWebAssetBrandForChannel("nightly")).toBe("nightly");  });});