You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
import { describe, expect, it } from "vitest";
|
|
import { RpaError } from "@/modules/rpa/errors";
|
|
import {
|
|
formatQuoteErrorMessage,
|
|
resolveQuoteFailureCode,
|
|
resolveQuoteFailureMessage,
|
|
} from "@/modules/quote/quote-error-messages";
|
|
|
|
describe("quote-error-messages", () => {
|
|
it("RpaError 保留细分 error_code", () => {
|
|
expect(
|
|
resolveQuoteFailureCode(
|
|
new RpaError("ADDRESS_SUGGESTION_NOT_FOUND", "未找到地址"),
|
|
),
|
|
).toBe("ADDRESS_SUGGESTION_NOT_FOUND");
|
|
});
|
|
|
|
it("RpaError 使用原始 message 作为用户文案", () => {
|
|
const msg = resolveQuoteFailureMessage(
|
|
new RpaError("STRUCT_CHANGE", "login 页且无 Mothership 凭据"),
|
|
"QUOTE_ENTRY_UNAVAILABLE",
|
|
);
|
|
expect(msg).toBe("login 页且无 Mothership 凭据");
|
|
});
|
|
|
|
it("formatQuoteErrorMessage 优先 storedMessage", () => {
|
|
expect(
|
|
formatQuoteErrorMessage("QUOTE_UNAVAILABLE", "自定义原因"),
|
|
).toBe("自定义原因");
|
|
});
|
|
|
|
it("formatQuoteErrorMessage 按 code 回退", () => {
|
|
expect(formatQuoteErrorMessage("QUOTE_TIMEOUT")).toContain("420 秒");
|
|
});
|
|
});
|