@davidbolaji/termii-node
Version:
Node.js SDK for Termii API – send SMS, voice, OTP, and manage messaging with ease.
50 lines (49 loc) • 1.66 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const MessageService_1 = require("../messaging/MessageService");
describe('MessageService', () => {
let httpClient;
let service;
beforeEach(() => {
httpClient = { request: jest.fn() };
service = new MessageService_1.MessageService(httpClient);
});
it('sendMessage invokes POST /sms/send with params', async () => {
const params = {
to: '123',
from: 'me',
sms: 'hello',
type: 'plain',
channel: 'generic',
media: null,
time_to_live: 0,
};
httpClient.request.mockResolvedValue({ success: true });
const res = await service.sendMessage(params);
expect(httpClient.request).toHaveBeenCalledWith('/sms/send', {
method: 'POST',
data: params,
authLocation: 'body',
});
expect(res).toEqual({ success: true });
});
it('sendBulkMessage invokes POST /sms/send/bulk with params', async () => {
const params = {
to: ['1', '2'],
from: 'me',
sms: 'bulk',
type: undefined,
channel: undefined,
media: null,
time_to_live: 1,
};
httpClient.request.mockResolvedValue({ ok: true });
const res = await service.sendBulkMessage(params);
expect(httpClient.request).toHaveBeenCalledWith('/sms/send/bulk', {
method: 'POST',
data: params,
authLocation: 'body',
});
expect(res).toEqual({ ok: true });
});
});