UNPKG

@elizaos/plugin-squid-router

Version:

ElizaOS plugin for cross-chain token swaps using Squid Router

70 lines (56 loc) 2.65 kB
import { describe, it, expect } from "bun:test"; import { squidRouterPlugin } from "../index"; import { xChainSwapAction } from "../actions/xChainSwap"; import { squidRouterProvider } from "../providers/squidRouter"; describe("squidRouterPlugin", () => { it("should have correct name", () => { expect(squidRouterPlugin.name).toBe("squid-router"); }); it("should have correct description", () => { expect(squidRouterPlugin.description).toBe("Squid router plugin"); }); it("should include xChainSwapAction in actions", () => { expect(squidRouterPlugin.actions).toContain(xChainSwapAction); expect(squidRouterPlugin.actions).toHaveLength(1); }); it("should include squidRouterProvider in providers", () => { expect(squidRouterPlugin.providers).toContain(squidRouterProvider); expect(squidRouterPlugin.providers).toHaveLength(1); }); it("should have empty evaluators array", () => { expect(squidRouterPlugin.evaluators).toEqual([]); }); it("should have empty services array", () => { expect(squidRouterPlugin.services).toEqual([]); }); it("should export all required components", () => { // Import everything to check exports const moduleExports = require("../index"); // Check plugin export expect(moduleExports.squidRouterPlugin).toBeDefined(); expect(moduleExports.default).toBe(squidRouterPlugin); // Check action exports expect(moduleExports.xChainSwapAction).toBeDefined(); expect(moduleExports.xChainSwapTemplate).toBeDefined(); // Check provider exports expect(moduleExports.squidRouterProvider).toBeDefined(); expect(moduleExports.SquidRouterProvider).toBeDefined(); expect(moduleExports.initSquidRouterProvider).toBeDefined(); // Check type exports expect(moduleExports.nativeTokenConstant).toBeDefined(); }); it("should match Plugin interface structure", () => { expect(squidRouterPlugin).toHaveProperty("name"); expect(squidRouterPlugin).toHaveProperty("description"); expect(squidRouterPlugin).toHaveProperty("providers"); expect(squidRouterPlugin).toHaveProperty("actions"); expect(squidRouterPlugin).toHaveProperty("evaluators"); expect(squidRouterPlugin).toHaveProperty("services"); expect(typeof squidRouterPlugin.name).toBe("string"); expect(typeof squidRouterPlugin.description).toBe("string"); expect(Array.isArray(squidRouterPlugin.providers)).toBe(true); expect(Array.isArray(squidRouterPlugin.actions)).toBe(true); expect(Array.isArray(squidRouterPlugin.evaluators)).toBe(true); expect(Array.isArray(squidRouterPlugin.services)).toBe(true); }); });