fix: use class-based mock for Nylas SDK to work with bun

This commit is contained in:
Qasim 2026-01-26 19:13:06 -05:00
parent 60774ad73b
commit 65678495a4

View File

@ -23,45 +23,44 @@ import {
import { listContacts, getContact } from "./src/tools/contacts.js"; import { listContacts, getContact } from "./src/tools/contacts.js";
import nylasPlugin from "./index.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", () => { vi.mock("nylas", () => {
return { const MockNylas = class {
default: vi.fn().mockImplementation(() => ({ grants = {
grants: { list: vi.fn(),
list: vi.fn(), find: vi.fn(),
find: vi.fn(), };
}, messages = {
messages: { list: vi.fn(),
list: vi.fn(), find: vi.fn(),
find: vi.fn(), send: vi.fn(),
send: vi.fn(), };
}, threads = {
threads: { list: vi.fn(),
list: vi.fn(), };
}, folders = {
folders: { list: vi.fn(),
list: vi.fn(), };
}, drafts = {
drafts: { create: vi.fn(),
create: vi.fn(), };
}, calendars = {
calendars: { list: vi.fn(),
list: vi.fn(), getAvailability: vi.fn(),
getAvailability: vi.fn(), };
}, events = {
events: { list: vi.fn(),
list: vi.fn(), find: vi.fn(),
find: vi.fn(), create: vi.fn(),
create: vi.fn(), update: vi.fn(),
update: vi.fn(), destroy: vi.fn(),
destroy: vi.fn(), };
}, contacts = {
contacts: { list: vi.fn(),
list: vi.fn(), find: vi.fn(),
find: vi.fn(), };
},
})),
}; };
return { default: MockNylas };
}); });
describe("Nylas Plugin", () => { describe("Nylas Plugin", () => {