UNPKG

nimiq-vitepress-theme

Version:

Nimiq UI theme for VitePress

34 lines (33 loc) 1.18 kB
import { useData, useRoute } from "vitepress"; import { describe, expect, it, vi } from "vitest"; import { useCurrentModule } from "../useCurrentModule.mjs"; vi.mock("vitepress", () => ({ useData: vi.fn(), useRoute: vi.fn(), withBase: (p) => `/base${p}` })); vi.mock("@vueuse/core", () => ({ createSharedComposable: (fn) => fn })); describe("useCurrentModule", () => { it("should select first matching module based on route.path", () => { const modules = [ { text: "A", subpath: "a" }, { text: "B", subpath: "b" } ]; useData.mockReturnValue({ theme: { value: { modules } } }); useRoute.mockReturnValue({ path: "/base/b/page" }); const { currentDocModule } = useCurrentModule(); expect(currentDocModule.value).toEqual(modules[1]); }); it("should fall back to first module if none match", () => { const modules = [ { text: "X", subpath: "x" }, { text: "Y", subpath: "y" } ]; useData.mockReturnValue({ theme: { value: { modules } } }); useRoute.mockReturnValue({ path: "/other/path" }); const { currentDocModule } = useCurrentModule(); expect(currentDocModule.value).toEqual(modules[0]); }); });