import { readFileSync } from "node:fs"; import { join } from "node:path"; import { describe, expect, it } from "vitest"; const root = process.cwd(); const source = readFileSync( join(root, "src/components/models/navigation/items/NavigationMenuItemsAdmin.vue"), "utf8" ).replace(/\r\n/g, "\n"); describe("NavigationMenuItemsAdmin contract", () => { it("derives department id from synced route context without router import", () => { expect(source).not.toContain('import { router } from "@/router.js";'); expect(source).toContain("const routeContext = ref("); expect(source).toContain("const syncAdminNavigationRoute = (route: any) => {"); expect(source).toContain("const currentRoute = routeContext.value;"); expect(source).toContain("currentRoute?.params?.departmentId"); expect(source).toContain("currentRoute?.path?.match(/^\\/admin\\/(\\d+)(?:\\/|$)/)"); }); });