From 65678495a45f712ad6a70e092b648ff4cecb4646 Mon Sep 17 00:00:00 2001 From: Qasim Date: Mon, 26 Jan 2026 19:13:06 -0500 Subject: [PATCH] fix: use class-based mock for Nylas SDK to work with bun --- extensions/nylas/index.test.ts | 73 +++++++++++++++++----------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/extensions/nylas/index.test.ts b/extensions/nylas/index.test.ts index 868bf4e1d..ce1f7e400 100644 --- a/extensions/nylas/index.test.ts +++ b/extensions/nylas/index.test.ts @@ -23,45 +23,44 @@ import { import { listContacts, getContact } from "./src/tools/contacts.js"; import nylasPlugin from "./index.js"; -// Mock the Nylas SDK +// Mock the Nylas SDK with a class to work with both node and bun vi.mock("nylas", () => { - return { - default: vi.fn().mockImplementation(() => ({ - grants: { - list: vi.fn(), - find: vi.fn(), - }, - messages: { - list: vi.fn(), - find: vi.fn(), - send: vi.fn(), - }, - threads: { - list: vi.fn(), - }, - folders: { - list: vi.fn(), - }, - drafts: { - create: vi.fn(), - }, - calendars: { - list: vi.fn(), - getAvailability: vi.fn(), - }, - events: { - list: vi.fn(), - find: vi.fn(), - create: vi.fn(), - update: vi.fn(), - destroy: vi.fn(), - }, - contacts: { - list: vi.fn(), - find: vi.fn(), - }, - })), + const MockNylas = class { + grants = { + list: vi.fn(), + find: vi.fn(), + }; + messages = { + list: vi.fn(), + find: vi.fn(), + send: vi.fn(), + }; + threads = { + list: vi.fn(), + }; + folders = { + list: vi.fn(), + }; + drafts = { + create: vi.fn(), + }; + calendars = { + list: vi.fn(), + getAvailability: vi.fn(), + }; + events = { + list: vi.fn(), + find: vi.fn(), + create: vi.fn(), + update: vi.fn(), + destroy: vi.fn(), + }; + contacts = { + list: vi.fn(), + find: vi.fn(), + }; }; + return { default: MockNylas }; }); describe("Nylas Plugin", () => {