import { strict as assert } from "node:assert"; import { readFileSync } from "node:fs"; import { test } from "vitest"; const connectionTreeSource = readFileSync("apps/desktop/src/components/sidebar/ConnectionTree.vue", "utf8"); const appSidebarSource = readFileSync("apps/desktop/src/components/layout/AppSidebar.vue", "utf8"); const activeConnectionFilterSource = readFileSync("apps/desktop/src/components/sidebar/ActiveConnectionFilterButton.vue", "utf8"); const locateButtonSource = readFileSync("apps/desktop/src/components/sidebar/SidebarLocateButton.vue", "utf8"); const regexButtonSource = readFileSync("apps/desktop/src/components/sidebar/SidebarRegexToggleButton.vue", "utf8"); const toolbarStart = connectionTreeSource.indexOf('
{ for (const tooltip of [``, ``]) { assert.ok(toolbarSource.includes(tooltip)); } assert.ok(toolbarSource.includes("`)); assert.doesNotMatch(toolbarActionSource, /:title="t\('sidebar\.(?:locateActiveTab|showActiveConnectionsOnly)'\)"/); assert.doesNotMatch(toolbarSource, /:trigger-title=/); }); test("connection tree toolbar groups low-frequency controls", () => { assert.ok(toolbarSource.includes("pr-[4.75rem]")); assert.ok(toolbarSource.includes("sidebar.regexSearchTooltip")); assert.ok(toolbarSource.indexOf("sidebar.globalLocalSearchTooltip") < toolbarSource.indexOf("sidebar.locateActiveTab")); assert.ok(locateButtonSource.includes("h-6 w-6 shrink-0")); assert.ok(toolbarSource.includes(" { assert.ok(appSidebarSource.includes(':trigger-icon="ArrowDownUp"')); assert.ok(appSidebarSource.includes('')); assert.ok(appSidebarSource.includes(':trigger-label="connectionTransferLabel"')); assert.ok(appSidebarSource.includes('t("sidebar.importExport")')); assert.ok(appSidebarSource.includes(':items="connectionTransferItems"')); assert.ok(appSidebarSource.includes('@update:model-value="selectConnectionTransferAction"')); assert.doesNotMatch(appSidebarSource, /:trigger-icon="Ellipsis"/); });