




















@@ -20,6 +20,13 @@ beforeAll(async () => {
20202121installProviderHttpMockCleanup();
222223+function requireRecord(value: unknown, label: string): Record<string, unknown> {
24+if (value === null || typeof value !== "object" || Array.isArray(value)) {
25+throw new Error(`expected ${label} to be a record`);
26+}
27+return value as Record<string, unknown>;
28+}
29+2330describe("alibaba video generation provider", () => {
2431it("declares explicit mode capabilities", () => {
2532expectExplicitVideoGenerationCapabilities(buildAlibabaVideoGenerationProvider());
@@ -40,23 +47,20 @@ describe("alibaba video generation provider", () => {
4047watermark: false,
4148});
424943-expect(postJsonRequestMock).toHaveBeenCalledWith(
44-expect.objectContaining({
45-url: "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
46-body: expect.objectContaining({
47-model: "wan2.6-r2v-flash",
48-input: expect.objectContaining({
49-prompt: "animate this shot",
50-img_url: "https://example.com/ref.png",
51-}),
52-parameters: expect.objectContaining({
53-duration: 6,
54-enable_audio: true,
55-watermark: false,
56-}),
57-}),
58-}),
50+expect(postJsonRequestMock).toHaveBeenCalledOnce();
51+const request = requireRecord(postJsonRequestMock.mock.calls[0]?.[0], "DashScope request");
52+expect(request.url).toBe(
53+"https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
5954);
55+const body = requireRecord(request.body, "DashScope request body");
56+expect(body.model).toBe("wan2.6-r2v-flash");
57+const input = requireRecord(body.input, "DashScope request input");
58+expect(input.prompt).toBe("animate this shot");
59+expect(input.img_url).toBe("https://example.com/ref.png");
60+const parameters = requireRecord(body.parameters, "DashScope request parameters");
61+expect(parameters.duration).toBe(6);
62+expect(parameters.enable_audio).toBe(true);
63+expect(parameters.watermark).toBe(false);
6064expectDashscopeVideoTaskPoll(fetchWithTimeoutMock);
6165expectSuccessfulDashscopeVideoResult(result);
6266});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。