Files
ttstd-infinite-canvas/web/test/previs-preview-request.test.ts

24 lines
1.9 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import { isPrevisPreviewRequestForWorkbench, previsPreviewRequestKey } from "../src/lib/canvas/previs/previs-preview";
describe("Agent 预演请求关联", () => {
test("只接受当前画布、场景和活动镜头", () => {
const request = { canvasId: "canvas-1", sceneId: "scene-1", shotId: "shot-1", previewRequestId: "call-1" };
expect(isPrevisPreviewRequestForWorkbench({ request, canvasId: "canvas-1", sceneId: "scene-1", activeShotId: "shot-1" })).toBe(true);
expect(isPrevisPreviewRequestForWorkbench({ request: { ...request, canvasId: "canvas-2" }, canvasId: "canvas-1", sceneId: "scene-1", activeShotId: "shot-1" })).toBe(false);
expect(isPrevisPreviewRequestForWorkbench({ request: { ...request, sceneId: "scene-2" }, canvasId: "canvas-1", sceneId: "scene-1", activeShotId: "shot-1" })).toBe(false);
expect(isPrevisPreviewRequestForWorkbench({ request: { ...request, shotId: "shot-2" }, canvasId: "canvas-1", sceneId: "scene-1", activeShotId: "shot-1" })).toBe(false);
});
test("配置了当前画布时拒绝缺少画布 ID 的旧事件", () => {
expect(isPrevisPreviewRequestForWorkbench({ request: { sceneId: "scene-1", shotId: "shot-1" }, canvasId: "canvas-1", sceneId: "scene-1", activeShotId: "shot-1" })).toBe(false);
expect(isPrevisPreviewRequestForWorkbench({ request: { sceneId: "scene-1", shotId: "shot-1" }, sceneId: "scene-1", activeShotId: "shot-1" })).toBe(true);
});
test("同一个后端请求 ID 产生稳定去重键", () => {
expect(previsPreviewRequestKey({ canvasId: "canvas-1", sceneId: "scene-1", shotId: "shot-1", previewRequestId: "call-1" })).toBe("id:call-1");
expect(previsPreviewRequestKey({ canvasId: "canvas-1", sceneId: "scene-1", shotId: "shot-1", duration: 5, fps: 24 })).toBe("fallback:canvas-1:scene-1:shot-1:5:24");
});
});