UNPKG

@davidbolaji/termii-node

Version:

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

34 lines (33 loc) 1.11 kB
import crypto from "crypto"; import { EventService } from "../insights/EventService"; describe("EventService", () => { let service; beforeEach(() => { service = new EventService(); }); it("verifies a valid signature", () => { const rawPayload = "payload"; const secretKey = "secret"; const signature = crypto.createHmac("sha512", secretKey).update(rawPayload).digest("hex"); expect(service.verifySignature(rawPayload, signature, secretKey)).toBe(true); }); it("rejects an invalid signature", () => { expect(service.verifySignature("a", "b", "secret")).toBe(false); }); it("parses event payload", () => { const payload = { type: "outbound_message", id: "1", message_id: "mid", receiver: "r", sender: "s", message: "msg", sent_at: "now", cost: "0", status: "DELIVERED", channel: "generic", }; const result = service.parseEvent(payload); expect(result).toEqual(payload); }); });