mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
74 lines
1.8 KiB
TypeScript
74 lines
1.8 KiB
TypeScript
import type { HttpError } from "@refinedev/core";
|
|
import { transformHttpError } from "../../src/utils/transformHttpError";
|
|
import * as _transformErrorMessages from "../../src/utils/transformErrorMessages";
|
|
|
|
describe("transformHttpError", () => {
|
|
it("should transform an error object", () => {
|
|
jest.mock("../../src/utils/transformErrorMessages", () => ({
|
|
transformErrorMessages: jest.fn().mockImplementationOnce(() => {
|
|
return {
|
|
email: ["Email is required"],
|
|
};
|
|
}),
|
|
}));
|
|
|
|
const mockError = {
|
|
response: {
|
|
data: {
|
|
error: {
|
|
message: "Something went wrong",
|
|
status: 400,
|
|
details: {
|
|
errors: [
|
|
{
|
|
path: ["email"],
|
|
message: "Email is required",
|
|
name: "ValidationError",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const expectedHttpError: HttpError = {
|
|
statusCode: 400,
|
|
message: "Something went wrong",
|
|
errors: {
|
|
email: ["Email is required"],
|
|
},
|
|
};
|
|
|
|
expect(transformHttpError(mockError)).toEqual(expectedHttpError);
|
|
});
|
|
|
|
it("should handle undefined values", () => {
|
|
jest.mock("../../src/utils/transformErrorMessages", () => ({
|
|
transformErrorMessages: jest.fn().mockImplementationOnce(() => {
|
|
return {};
|
|
}),
|
|
}));
|
|
|
|
const mockError = {
|
|
response: {
|
|
data: {
|
|
error: {
|
|
message: undefined,
|
|
status: undefined,
|
|
details: {},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const expectedHttpError = {
|
|
statusCode: undefined,
|
|
message: undefined,
|
|
errors: {},
|
|
};
|
|
|
|
expect(transformHttpError(mockError)).toEqual(expectedHttpError);
|
|
});
|
|
});
|