refactor(frontend): 四生成 hook 结束后额外返回产物(AC-3 留痕前置)
useRefine.refine/recommunicate→RefineVersion|null、useContinue.generate→string|null、 useChapterRewrite.send→RewriteVersion|null、useGenerator.generate→GeneratorArtifact|null。 向后兼容(既有调用忽略返回值不受影响);各 hook 成功用例补返回值断言。 面板据此 if(artifact) 才 append,空候选/错误路径不留痕。
This commit is contained in:
@@ -55,8 +55,9 @@ describe("useGenerator", () => {
|
||||
});
|
||||
|
||||
const { result } = renderHook(() => useGenerator());
|
||||
let returned: { outputKind: string; rawPreview: unknown } | null = null;
|
||||
await act(async () => {
|
||||
await result.current.generate("p1", "idea", { brief: "脑洞" });
|
||||
returned = await result.current.generate("p1", "idea", { brief: "脑洞" });
|
||||
});
|
||||
|
||||
expect(result.current.genStatus).toBe("preview");
|
||||
@@ -65,6 +66,9 @@ describe("useGenerator", () => {
|
||||
expect(result.current.preview?.kind).toBe("IdeaListResult");
|
||||
expect(result.current.preview?.items[0]?.heading).toBe("废柴逆袭");
|
||||
expect(toast).not.toHaveBeenCalled();
|
||||
// 追加断言:generate 返回本次产物(供 GeneratorRunner 结束后留痕)。
|
||||
expect(returned?.outputKind).toBe("IdeaListResult");
|
||||
expect(returned?.rawPreview).toEqual(preview);
|
||||
});
|
||||
|
||||
it("生成后端返回 error:genStatus=error 且弹错误 toast", async () => {
|
||||
|
||||
Reference in New Issue
Block a user