Gmail MCP Server

import { handleDeleteDraft, DELETE_DRAFT_TOOL } from '../../../src/tools/drafts/delete'; import { deleteDraft } from '../../../src/services/gmail/drafts'; // Mock the deleteDraft service jest.mock('../../../src/services/gmail/drafts'); describe('Delete Draft Tool', () => { // Existing test code remains the same... // Error handling scenarios describe('Error Handling', () => { const mockDraftId = 'draft123'; it('should handle draft not found error', async () => { // Suppress console error const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); (deleteDraft as jest.Mock).mockRejectedValue(new Error('Draft not found')); const result = await handleDeleteDraft({ draftId: mockDraftId }); expect(result.isError).toBe(true); expect(result.content[0].text).toContain('Error deleting draft: Draft not found'); // Restore console.error consoleErrorSpy.mockRestore(); }); it('should handle invalid draft ID', async () => { // Suppress console error const consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); (deleteDraft as jest.Mock).mockRejectedValue(new Error('Invalid draft ID')); const result = await handleDeleteDraft({ draftId: '' }); expect(result.isError).toBe(true); expect(result.content[0].text).toContain('Error deleting draft: Invalid draft ID'); // Restore console.error consoleErrorSpy.mockRestore(); }); }); // Rest of the test remains the same... });