Initial 智念AIGC platform
This commit is contained in:
58
tests/jimeng-capabilities.test.ts
Normal file
58
tests/jimeng-capabilities.test.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
buildJimengPayload,
|
||||
buildJimengQueryPayload,
|
||||
getJimengCapabilities,
|
||||
getVisibleImageCapabilities
|
||||
} from "@/lib/jimeng/capabilities";
|
||||
|
||||
describe("Jimeng capability matrix", () => {
|
||||
it("only exposes the three supported image capabilities", () => {
|
||||
const capabilities = getJimengCapabilities();
|
||||
expect(Object.keys(capabilities)).toEqual([
|
||||
"image.generate",
|
||||
"image.inpaint",
|
||||
"image.upscale"
|
||||
]);
|
||||
expect(getVisibleImageCapabilities().map((capability) => capability.id)).toEqual([
|
||||
"image.generate",
|
||||
"image.inpaint",
|
||||
"image.upscale"
|
||||
]);
|
||||
});
|
||||
|
||||
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("requires original and mask URLs for inpainting", () => {
|
||||
expect(() =>
|
||||
buildJimengPayload("image.inpaint", "jimeng_image2image_dream_inpaint", {
|
||||
imageUrls: ["https://example.com/original.png"]
|
||||
})
|
||||
).toThrow(/exactly two/);
|
||||
});
|
||||
|
||||
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');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user