import assert from 'node:assert/strict'; import fs from 'node:fs'; import path from 'node:path'; import test from 'node:test'; import { fileURLToPath } from 'node:url'; const currentDirectory = path.dirname(fileURLToPath(import.meta.url)); const webRoot = path.resolve(currentDirectory, '../..'); function readSource(relativePath) { return fs.readFileSync(path.join(webRoot, relativePath), 'utf8'); } const homeSidebarSource = readSource( 'src/app/home/components/home-sidebar/HomeSidebar.tsx', ); const botFormSource = readSource( 'src/app/home/bots/components/bot-form/BotForm.tsx', ); const kbFormSource = readSource( 'src/app/home/knowledge/components/kb-form/KBForm.tsx', ); const settingsDialogSource = readSource( 'src/app/home/components/settings-dialog/SettingsDialog.tsx', ); const pluginPageSource = readSource('src/app/home/plugin-pages/page.tsx'); const authenticatedPluginResourceSource = readSource( 'src/hooks/useAuthenticatedPluginResource.ts', ); test('hides the entire workspace switcher slot for a singleton local workspace', () => { assert.match(homeSidebarSource, /useWorkspaceBootstrap/); assert.match( homeSidebarSource, /const showWorkspaceSwitcher\s*=\s*workspaces\.length\s*>\s*1\s*\|\|\s*currentWorkspace\?\.workspace\.source\s*===\s*'cloud_projection'/, ); assert.match( homeSidebarSource, /\{showWorkspaceSwitcher\s*&&\s*\(\s*