| import { describe, expect, it } from "vitest"; |
| import { extractApiErrorMessage } from "./apiError"; |
|
|
| describe("extractApiErrorMessage", () => { |
| it("prefers nested error.message", () => { |
| expect( |
| extractApiErrorMessage(new Error("x"), { |
| error: { code: "E", message: "nested" }, |
| }) |
| ).toBe("nested"); |
| }); |
|
|
| it("uses error string when present", () => { |
| expect( |
| extractApiErrorMessage(new Error("x"), { error: "plain string" }) |
| ).toBe("plain string"); |
| }); |
|
|
| it("uses top-level message", () => { |
| expect( |
| extractApiErrorMessage(new Error("x"), { message: "top" }) |
| ).toBe("top"); |
| }); |
|
|
| it("falls back to Error message then default", () => { |
| expect(extractApiErrorMessage(new Error("axios failed"), {})).toBe( |
| "axios failed" |
| ); |
| expect(extractApiErrorMessage({}, undefined)).toBe( |
| "An unexpected error occurred" |
| ); |
| }); |
| }); |
|
|