Files
NianAIGC/tests/jimeng-capabilities.test.ts

43 lines
1.4 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
buildJimengPayload,
buildJimengQueryPayload,
getJimengCapabilities,
getVisibleImageCapabilities
} from "@/lib/jimeng/capabilities";
describe("Jimeng capability matrix", () => {
it("only exposes image generation", () => {
const capabilities = getJimengCapabilities();
expect(Object.keys(capabilities)).toEqual(["image.generate"]);
expect(getVisibleImageCapabilities().map((capability) => capability.id)).toEqual(["image.generate"]);
});
it("builds payloads for image generation 4.6", () => {
const payload = buildJimengPayload("image.generate", "jimeng_seedream46_cvtob", {
prompt: "商品海报",
imageUrls: ["https://example.com/ref.png"],
width: 2048,
height: 2048,
force_single: true,
scale: 50
});
expect(payload).toMatchObject({
req_key: "jimeng_seedream46_cvtob",
prompt: "商品海报",
image_urls: ["https://example.com/ref.png"],
width: 2048,
height: 2048,
force_single: true,
scale: 50
});
});
it("uses return_url query payload for polling", () => {
const payload = buildJimengQueryPayload("jimeng_i2i_seed3_tilesr_cvtob", "task-1");
expect(payload.req_key).toBe("jimeng_i2i_seed3_tilesr_cvtob");
expect(payload.task_id).toBe("task-1");
expect(String(payload.req_json)).toContain('"return_url":true');
});
});