Files
CapaKraken/packages/api/src/__tests__/assistant-tools-settings-ai-configured.test.ts
T

51 lines
1.4 KiB
TypeScript

import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { SystemRole } from "@capakraken/shared";
import { createToolContext, executeTool } from "./assistant-tools-settings-test-helpers.js";
describe("assistant settings tool get_ai_configured", () => {
beforeEach(() => {
vi.clearAllMocks();
});
afterEach(() => {
vi.unstubAllGlobals();
vi.unstubAllEnvs();
});
it("reports AI configuration only to admin users through the real settings path", async () => {
vi.stubEnv("OPENAI_API_KEY", "env-openai-key");
const ctx = createToolContext({
systemSettings: {
findUnique: vi.fn().mockResolvedValue({
aiProvider: "openai",
azureOpenAiDeployment: "gpt-4o-mini",
azureOpenAiApiKey: null,
}),
},
});
const result = await executeTool("get_ai_configured", JSON.stringify({}), ctx);
expect(JSON.parse(result.content)).toEqual({ configured: true });
});
it("rejects get_ai_configured for non-admin assistant users", async () => {
const ctx = createToolContext(
{
systemSettings: {
findUnique: vi.fn(),
},
},
SystemRole.MANAGER,
);
const result = await executeTool("get_ai_configured", JSON.stringify({}), ctx);
expect(JSON.parse(result.content)).toEqual({
error: "You do not have permission to perform this action.",
});
});
});