@sinch/mcp
Version:
Sinch MCP server
47 lines • 2.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const send_text_message_1 = require("../../../src/tools/conversation/send-text-message");
const conversation_service_helper_1 = require("../../../src/tools/conversation/utils/conversation-service-helper");
const send_message_builder_1 = require("../../../src/tools/conversation/utils/send-message-builder");
jest.mock('../../../src/tools/conversation/utils/conversation-service-helper');
jest.mock('../../../src/tools/conversation/utils/send-message-builder');
const mockSendTextMessage = jest.fn();
const mockSinchClient = {
conversation: {
setRegion: jest.fn(),
messages: {
sendTextMessage: mockSendTextMessage,
},
},
};
conversation_service_helper_1.getConversationAppId.mockImplementation((id) => id ?? 'mock-app-id');
conversation_service_helper_1.getConversationClient.mockReturnValue(mockSinchClient);
send_message_builder_1.buildMessageBase.mockResolvedValue({ to: 'recipient', from: 'sender', channel: 'WHATSAPP' });
beforeEach(() => {
jest.clearAllMocks();
});
test('sendTextMessageHandler returns success response', async () => {
mockSendTextMessage.mockResolvedValue({ message_id: 'abc123' });
const result = await (0, send_text_message_1.sendTextMessageHandler)({
message: 'Hello!',
recipient: '+123456789',
channel: 'WHATSAPP',
appId: undefined,
sender: undefined,
region: undefined,
});
expect(result.content[0].text).toEqual('Text message submitted on channel WHATSAPP! The message ID is abc123');
});
test('sendTextMessageHandler returns error response on failure', async () => {
mockSendTextMessage.mockRejectedValue(new Error('oops'));
const result = await (0, send_text_message_1.sendTextMessageHandler)({
message: 'Hi',
recipient: '+123456789',
channel: 'RCS',
appId: 'my-app-id',
sender: 'sender-id',
region: 'eu',
});
expect(result.content[0].text).toEqual('An error occurred when trying to send the text message: {}. Are you sure you are using the right region to send your message? The current region is eu.');
});
//# sourceMappingURL=send-text-message.test.js.map