42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
import fs from 'node:fs';
|
|
import os from 'node:os';
|
|
import path from 'node:path';
|
|
import type { FastifyInstance } from 'fastify';
|
|
import { buildLocalServer } from '../../src/local/index.js';
|
|
|
|
describe('local server default workspace wiring', () => {
|
|
let tmpDir: string;
|
|
let server: FastifyInstance | null = null;
|
|
let previousEmbeddingProvider: string | undefined;
|
|
|
|
beforeEach(() => {
|
|
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'waggle-default-workspace-'));
|
|
previousEmbeddingProvider = process.env.EMBEDDING_PROVIDER;
|
|
process.env.EMBEDDING_PROVIDER = 'mock';
|
|
});
|
|
|
|
afterEach(async () => {
|
|
if (server) {
|
|
await server.close();
|
|
server = null;
|
|
}
|
|
if (previousEmbeddingProvider === undefined) {
|
|
delete process.env.EMBEDDING_PROVIDER;
|
|
} else {
|
|
process.env.EMBEDDING_PROVIDER = previousEmbeddingProvider;
|
|
}
|
|
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
});
|
|
|
|
it('activates the boot-created default workspace instead of the literal default id', async () => {
|
|
server = await buildLocalServer({ dataDir: tmpDir });
|
|
|
|
const defaultWorkspaceId = server.workspaceManager.getDefault();
|
|
expect(defaultWorkspaceId).toBeTruthy();
|
|
expect(server.agentState.activeWorkspaceId).toBe(defaultWorkspaceId);
|
|
expect(server.agentState.getWorkspaceMindDb(defaultWorkspaceId!)).toBeTruthy();
|
|
expect(server.agentState.getWorkspaceMindDb('default')).toBeNull();
|
|
});
|
|
});
|