Files
calendar/packages/lib/server/getServerErrorFromUnknown.test.ts
T
Benny JooandGitHub 4d45aa1564 perf: Do not import Stripe lib in getServerErrorFromUnknown (#19578)
* Do not import stripe lib in getServerErrorFromUnknown

* address comment

* remove comment

* add url

* keep the location

* remove space

* add unit test for getServerErrorFromUnknown

* improve
2025-02-27 15:22:23 +00:00

35 lines
1.2 KiB
TypeScript

import { expect, it, describe } from "vitest";
import { HttpError } from "../http-error";
import { getServerErrorFromUnknown } from "./getServerErrorFromUnknown";
describe("getServerErrorFromUnknown", () => {
it("should handle a StripeInvalidRequestError", () => {
const stripeError = {
name: "StripeInvalidRequestError",
type: "StripeInvalidRequestError",
rawType: "invalid_request_error",
message: "No such customer: cus_12345; a valid customer ID is required.",
code: "resource_missing",
doc_url: "https://stripe.com/docs/error-codes/resource-missing",
statusCode: 400,
raw: {
error: { type: "invalid_request_error", message: "No such customer" },
},
headers: {
"content-type": "application/json",
"request-id": "req_abc123xyz",
},
requestId: "req_abc123xyz",
param: "customer",
};
Object.setPrototypeOf(stripeError, Error.prototype);
const result = getServerErrorFromUnknown(stripeError);
expect(result).toBeInstanceOf(HttpError);
expect(result.statusCode).toBe(400);
expect(result.message).toBe(stripeError.message);
expect(result.cause).toEqual(stripeError);
expect(result.name).toBe("HttpError");
});
});