feat(media): 作品保存恢复 - 按原任务重试交付并避免重复生成计费
This commit is contained in:
24
web/test/generation-task-display.test.ts
Normal file
24
web/test/generation-task-display.test.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
import { generationTaskShowsProgress, generationTaskStatusLabel, mediaDeliverySummary } from "@/lib/generation-task-display";
|
||||
import { resetGenerationTaskMetadata } from "@/lib/canvas/canvas-task-state";
|
||||
|
||||
describe("作品保存阶段", () => {
|
||||
test("分别表达生成、下载、上传和登记,不把保存失败当成生成失败", () => {
|
||||
expect(mediaDeliverySummary("failed", "download")).toBe("生成成功 · 下载失败");
|
||||
expect(mediaDeliverySummary("failed", "upload")).toBe("生成成功 · 下载成功 · 上传 OSS失败");
|
||||
expect(mediaDeliverySummary("failed", "register")).toBe("生成成功 · 文件保存成功 · 登记素材失败");
|
||||
expect(mediaDeliverySummary("failed", "checkpoint")).not.toContain("下载成功");
|
||||
expect(mediaDeliverySummary("succeeded", "completed")).toContain("素材登记成功");
|
||||
});
|
||||
test("恢复中不显示虚假生成进度", () => {
|
||||
expect(generationTaskStatusLabel({ status: "running", mediaStage: "upload" })).toBe("作品已生成,正在保存");
|
||||
expect(generationTaskShowsProgress({ status: "running", mediaStage: "upload" })).toBe(false);
|
||||
expect(generationTaskStatusLabel({ status: "failed", mediaStage: "download" })).toBe("作品保存未完成");
|
||||
});
|
||||
test("重新生成清除旧恢复信息", () => {
|
||||
const metadata = resetGenerationTaskMetadata({ taskId: "old", taskMediaStage: "upload", taskCanRecoverMedia: true });
|
||||
expect(metadata.taskId).toBeUndefined();
|
||||
expect(metadata.taskMediaStage).toBeUndefined();
|
||||
expect(metadata.taskCanRecoverMedia).toBeUndefined();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user