UNPKG

@davidbolaji/termii-node

Version:

Node.js SDK for Termii API – send SMS, voice, OTP, and manage messaging with ease.

58 lines (57 loc) 2.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ContactService_1 = require("../messaging/campaign/ContactService"); const form_data_1 = __importDefault(require("form-data")); describe("ContactService", () => { let httpClient; let service; beforeEach(() => { httpClient = { request: jest.fn() }; service = new ContactService_1.ContactService(httpClient); }); it("fetches contacts", async () => { httpClient.request.mockResolvedValueOnce({ data: [] }); const result = await service.fetchContacts("123"); expect(httpClient.request).toHaveBeenCalledWith("/phonebooks/123/contacts", expect.any(Object)); expect(result.data).toEqual([]); }); it("adds a contact", async () => { httpClient.request.mockResolvedValueOnce({ data: { phone_number: "12345" }, }); const result = await service.addContact("123", { phone_number: "12345" }); expect(httpClient.request).toHaveBeenCalledWith("/phonebooks/123/contacts", expect.objectContaining({ method: "POST", data: { phone_number: "12345" }, })); expect(result.data.phone_number).toBe("12345"); }); it("uploads contacts", async () => { httpClient.request.mockResolvedValueOnce({ message: "Upload started", }); const result = await service.uploadContacts({ file: Buffer.from("fake"), country_code: "234", pid: "123", }); expect(httpClient.request).toHaveBeenCalledWith("/contacts/upload", expect.objectContaining({ method: "POST", data: expect.any(form_data_1.default), })); expect(result.message).toBe("Upload started"); }); it("deletes a contact", async () => { httpClient.request.mockResolvedValueOnce({ message: "Contact deleted successfully", }); const result = await service.deleteContact("999"); expect(httpClient.request).toHaveBeenCalledWith("/contacts/999", expect.objectContaining({ method: "DELETE", })); expect(result.message).toBe("Contact deleted successfully"); }); });