diff --git a/extensions/voice-call/src/providers/twilio/api.test.ts b/extensions/voice-call/src/providers/twilio/api.test.ts index 4abdff7be03..5d8eb132b99 100644 --- a/extensions/voice-call/src/providers/twilio/api.test.ts +++ b/extensions/voice-call/src/providers/twilio/api.test.ts @@ -41,15 +41,11 @@ describe("twilioApiRequest", () => { expect(auditContext).toBe("voice-call.twilio.api"); expect(policy).toEqual({ allowedHostnames: ["api.twilio.com"] }); expect(timeoutMs).toBe(30_000); - expect(init).toEqual( - expect.objectContaining({ - method: "POST", - headers: { - Authorization: `Basic ${Buffer.from("AC123:secret").toString("base64")}`, - "Content-Type": "application/x-www-form-urlencoded", - }, - }), - ); + expect(init?.method).toBe("POST"); + expect(init?.headers).toEqual({ + Authorization: `Basic ${Buffer.from("AC123:secret").toString("base64")}`, + "Content-Type": "application/x-www-form-urlencoded", + }); const requestBody = init?.body; if (!(requestBody instanceof URLSearchParams)) { throw new Error("expected URLSearchParams request body"); @@ -126,20 +122,25 @@ describe("twilioApiRequest", () => { release, }); - await expect( - twilioApiRequest({ + try { + await twilioApiRequest({ baseUrl: "https://api.twilio.com", accountSid: "AC123", authToken: "secret", endpoint: "/Calls/CA123.json", body: {}, - }), - ).rejects.toMatchObject({ - name: "TwilioApiError", - httpStatus: 400, - twilioCode: 21220, - message: "Twilio API error: 400 Call is not in-progress. Cannot redirect.", - } satisfies Partial); + }); + throw new Error("expected Twilio API request to reject"); + } catch (error) { + expect(error).toBeInstanceOf(TwilioApiError); + const twilioError = error as TwilioApiError; + expect(twilioError.name).toBe("TwilioApiError"); + expect(twilioError.httpStatus).toBe(400); + expect(twilioError.twilioCode).toBe(21220); + expect(twilioError.message).toBe( + "Twilio API error: 400 Call is not in-progress. Cannot redirect.", + ); + } expect(release).toHaveBeenCalledTimes(1); }); });