UNPKG

@davidbolaji/termii-node

Version:

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

42 lines (41 loc) 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const PhonebookService_1 = require("../messaging/campaign/PhonebookService"); describe("PhonebookService", () => { let httpClient; let service; beforeEach(() => { httpClient = { request: jest.fn() }; service = new PhonebookService_1.PhonebookService(httpClient); }); it("fetches phonebooks", async () => { const mockResponse = { data: [], links: {}, meta: {} }; httpClient.request.mockResolvedValue(mockResponse); const result = await service.fetchPhonebooks(); expect(httpClient.request).toHaveBeenCalledWith("/phonebooks", expect.objectContaining({ method: "GET", authLocation: "query" })); expect(result).toEqual(mockResponse); }); it("creates a phonebook", async () => { const payload = { api_key: "key", phonebook_name: "MyBook", description: "desc" }; const mockResponse = { message: "Phonebook added successfully" }; httpClient.request.mockResolvedValue(mockResponse); const result = await service.createPhonebook(payload); expect(httpClient.request).toHaveBeenCalledWith("/phonebooks", expect.objectContaining({ method: "POST", data: payload, authLocation: "body" })); expect(result).toEqual(mockResponse); }); it("updates a phonebook", async () => { const payload = { api_key: "key", phonebook_name: "NewName", description: "newdesc" }; const mockResponse = { message: "Phonebook Updated Successfully" }; httpClient.request.mockResolvedValue(mockResponse); const result = await service.updatePhonebook("123", payload); expect(httpClient.request).toHaveBeenCalledWith("/phonebooks/123", expect.objectContaining({ method: "PATCH", data: payload, authLocation: "body" })); expect(result).toEqual(mockResponse); }); it("deletes a phonebook", async () => { const mockResponse = { message: "Phonebook deleted successfully" }; httpClient.request.mockResolvedValue(mockResponse); const result = await service.deletePhonebook("123"); expect(httpClient.request).toHaveBeenCalledWith("/phonebooks/123", expect.objectContaining({ method: "DELETE", authLocation: "query" })); expect(result).toEqual(mockResponse); }); });