| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { describe, expect, test } from "bun:test"
- import { ConfigMCP } from "@opencode-ai/core/config/mcp"
- import { FigmaPlugin } from "@opencode-ai/core/plugin/figma"
- describe("plugin.figma", () => {
- test("adds the OpenCode client ID to configured Figma servers", () => {
- const server = new ConfigMCP.Remote({
- type: "remote",
- url: "https://mcp.figma.com/mcp",
- oauth: new ConfigMCP.OAuth({ scope: "mcp:connect" }),
- })
- FigmaPlugin.apply(server)
- expect(server.oauth).toEqual({ client_id: "3zVHNs9kINDDrk8loekLZV", scope: "mcp:connect" })
- })
- test("preserves an existing client ID", () => {
- const server = new ConfigMCP.Remote({
- type: "remote",
- url: "https://mcp.figma.com/mcp",
- oauth: new ConfigMCP.OAuth({ client_id: "configured-client-id" }),
- })
- FigmaPlugin.apply(server)
- expect(server.oauth).toEqual({ client_id: "configured-client-id" })
- })
- test("does not enable OAuth or modify non-Figma servers", () => {
- const disabled = new ConfigMCP.Remote({
- type: "remote",
- url: "https://mcp.figma.com/mcp",
- oauth: false,
- })
- const other = new ConfigMCP.Remote({
- type: "remote",
- url: "https://mcp.example.com/mcp",
- })
- FigmaPlugin.apply(disabled)
- FigmaPlugin.apply(other)
- expect(disabled.oauth).toBe(false)
- expect(other.oauth).toBeUndefined()
- })
- })
|