feat(desktop-client): expand publisher error normalization
新增登录态失效与微信公众号外链缺失两类发布错误归一化, 将原本散落在适配器里的中文提示集中到 shared/publisher-errors, 让渲染层与 main 进程共用同一份用户可读文案。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import {
|
||||
PUBLISH_ACCOUNT_NOT_LOGGED_IN_MESSAGE,
|
||||
QIEHAO_REAL_NAME_AUTH_MESSAGE,
|
||||
WANGYIHAO_DRAFT_SAVE_PARAMETER_MESSAGE,
|
||||
WANGYIHAO_PUBLISH_CLICK_MESSAGE,
|
||||
WANGYIHAO_TOKEN_MISSING_MESSAGE,
|
||||
WEIXIN_GZH_PUBLIC_URL_MISSING_MESSAGE,
|
||||
isQiehaoRealNameAuthError,
|
||||
normalizePublisherErrorMessage,
|
||||
normalizePublisherLoginErrorMessage,
|
||||
normalizeQiehaoPublishErrorMessage,
|
||||
normalizeWangyihaoPublishErrorMessage,
|
||||
normalizeWeixinGzhPublishErrorMessage,
|
||||
} from "./publisher-errors";
|
||||
|
||||
describe("publisher error normalization", () => {
|
||||
@@ -23,6 +27,24 @@ describe("publisher error normalization", () => {
|
||||
expect(normalizeQiehaoPublishErrorMessage("publish rejected", -5022)).toBe(QIEHAO_REAL_NAME_AUTH_MESSAGE);
|
||||
});
|
||||
|
||||
it("normalizes publisher login-state failures", () => {
|
||||
expect(normalizePublisherErrorMessage("wangyihao_not_logged_in")).toBe(
|
||||
"网易号账号登录态已失效,请重新登录该平台后再重试。",
|
||||
);
|
||||
expect(normalizePublisherErrorMessage("Error: weixin_gzh_not_logged_in")).toBe(
|
||||
"微信公众号账号登录态已失效,请重新登录该平台后再重试。",
|
||||
);
|
||||
expect(normalizePublisherErrorMessage("qiehao_cookie_missing")).toBe(
|
||||
"企鹅号账号登录态已失效,请重新登录该平台后再重试。",
|
||||
);
|
||||
});
|
||||
|
||||
it("uses a generic Chinese message for unknown publisher login-state failures", () => {
|
||||
expect(normalizePublisherLoginErrorMessage("unknown_platform_not_logged_in")).toBe(
|
||||
PUBLISH_ACCOUNT_NOT_LOGGED_IN_MESSAGE,
|
||||
);
|
||||
});
|
||||
|
||||
it("normalizes Wangyihao token missing failures", () => {
|
||||
expect(normalizePublisherErrorMessage("wangyihao_token_missing")).toBe(WANGYIHAO_TOKEN_MISSING_MESSAGE);
|
||||
expect(normalizeWangyihaoPublishErrorMessage("Error: wangyihao_token_missing")).toBe(
|
||||
@@ -48,6 +70,15 @@ describe("publisher error normalization", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("normalizes Weixin GZH missing public URL failures", () => {
|
||||
expect(normalizePublisherErrorMessage("weixin_gzh_public_url_missing:100000093")).toBe(
|
||||
WEIXIN_GZH_PUBLIC_URL_MISSING_MESSAGE,
|
||||
);
|
||||
expect(normalizeWeixinGzhPublishErrorMessage("Error: weixin_gzh_public_url_missing")).toBe(
|
||||
WEIXIN_GZH_PUBLIC_URL_MISSING_MESSAGE,
|
||||
);
|
||||
});
|
||||
|
||||
it("leaves unknown publisher errors unchanged", () => {
|
||||
expect(normalizePublisherErrorMessage("qiehao_publish_failed")).toBe("qiehao_publish_failed");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user