Skip to main content
Glama
updateTask.test.ts2.04 kB
import { test } from "node:test"; import assert from "node:assert/strict"; import { MockAgent, setGlobalDispatcher } from "undici"; test("updateTask updates name and description", async (t) => { t.mock.timers.enable(); process.env.CLICKUP_API_KEY = "test-key"; process.env.CLICKUP_TEAM_ID = "team1"; const { registerTaskToolsWrite } = await import("../tools/task-write-tools"); const mockAgent = new MockAgent(); mockAgent.disableNetConnect(); setGlobalDispatcher(mockAgent); const client = mockAgent.get("https://api.clickup.com"); client .intercept({ path: "/api/v2/user", method: "GET" }) .reply(200, { user: { id: "u1", username: "me" } }); client .intercept({ path: "/api/v2/task/task123?include_markdown_description=true", method: "GET" }) .reply(200, { id: "task123", name: "Old", markdown_description: "existing", status: { status: "open", type: "open" }, assignees: [], url: "https://app.clickup.com/t/task123" }); let bodyCaptured: any; client .intercept({ path: "/api/v2/task/task123", method: "PUT" }) .reply((opts) => { bodyCaptured = JSON.parse(String(opts.body)); return { statusCode: 200, data: { id: "task123", name: "New Name", status: { status: "open", type: "open" }, assignees: [], url: "https://app.clickup.com/t/task123" } }; }); const tools: Record<string, any> = {}; const serverStub = { tool: ( name: string, _desc: string, _schema: any, _opts: any, handler: any, ) => { tools[name] = handler; }, } as any; registerTaskToolsWrite(serverStub, { user: { username: "me", id: "u1" } }); const result = await tools.updateTask({ task_id: "task123", name: "New Name", append_description: "More details" }); assert.equal(bodyCaptured.name, "New Name"); assert.ok(bodyCaptured.markdown_description.includes("More details")); assert.ok(result.content[0].text.includes("Task updated successfully")); await mockAgent.close(); t.mock.timers.runAll(); t.mock.timers.reset(); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hauptsacheNet/clickup-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server