import { describe, expect, it } from "vitest"; 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"); }); });