7ddd3d0c6c
- Detect qiehao's real-name auth blocking response (code/message) in the desktop adapter, surface a Chinese-friendly summary, and propagate the detail through the failure result. - Extract a shared publisher-errors module so the renderer can normalize these messages for the publish task table without duplicating regex. - Pre-process article HTML for qiehao before upload via a new packages/publisher-platforms/src/qiehao.ts entry point. - Update the manual self-test notes for jianshu and qiehao with the latest results. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
980 B
TypeScript
26 lines
980 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import {
|
|
QIEHAO_REAL_NAME_AUTH_MESSAGE,
|
|
isQiehaoRealNameAuthError,
|
|
normalizePublisherErrorMessage,
|
|
normalizeQiehaoPublishErrorMessage,
|
|
} from "./publisher-errors";
|
|
|
|
describe("publisher error normalization", () => {
|
|
it("normalizes Qiehao real-name authentication failures from raw platform text", () => {
|
|
expect(
|
|
normalizePublisherErrorMessage("type:business, code:-5022, msg:user is not real name authentication"),
|
|
).toBe(QIEHAO_REAL_NAME_AUTH_MESSAGE);
|
|
});
|
|
|
|
it("recognizes Qiehao real-name authentication failures by business code", () => {
|
|
expect(isQiehaoRealNameAuthError("publish rejected", -5022)).toBe(true);
|
|
expect(normalizeQiehaoPublishErrorMessage("publish rejected", -5022)).toBe(QIEHAO_REAL_NAME_AUTH_MESSAGE);
|
|
});
|
|
|
|
it("leaves unknown publisher errors unchanged", () => {
|
|
expect(normalizePublisherErrorMessage("qiehao_publish_failed")).toBe("qiehao_publish_failed");
|
|
});
|
|
});
|