import { describe, it, expect } from "vitest";
import {
generateContinueConfigHandler,
generateTabnineConfigHandler,
generateVSCodeTasksHandler,
generateVSCodeLaunchHandler,
generateJetBrainsConfigHandler,
} from "./ideconfigs.js";
describe("IDE Config Tools", () => {
describe("generateContinueConfigHandler", () => {
it("should generate config", () => {
const result = generateContinueConfigHandler({
projectName: "Test",
languages: ["ts"],
});
expect(result.content[0].text).toContain('"title": "Test"');
expect(result.content[0].text).toContain("gpt-4");
});
});
describe("generateTabnineConfigHandler", () => {
it("should generate config", () => {
const result = generateTabnineConfigHandler({
projectName: "Test",
languages: ["javascript"],
});
const json = JSON.parse(result.content[0].text);
expect(json.project_name).toBe("Test");
expect(json.languages.javascript.enabled).toBe(true);
});
});
describe("generateVSCodeTasksHandler", () => {
it("should generate tasks", () => {
const result = generateVSCodeTasksHandler({
projectName: "Test",
language: "typescript",
});
expect(result.content[0].text).toContain('"command": "npm run build"');
expect(result.content[0].text).toContain('"command": "npm test"');
});
});
describe("generateVSCodeLaunchHandler", () => {
it("should generate launch config for node", () => {
const result = generateVSCodeLaunchHandler({
projectName: "Test",
language: "javascript",
});
expect(result.content[0].text).toContain('"type": "node"');
expect(result.content[0].text).toContain("Launch Test");
});
});
describe("generateJetBrainsConfigHandler", () => {
it("should generate python config", () => {
const result = generateJetBrainsConfigHandler({
projectName: "Test",
language: "python",
});
expect(result.content[0].text).toContain(
'type="PythonConfigurationType"',
);
expect(result.content[0].text).toContain('name="Test"');
});
});
});