Files
openclaw/test/scripts/test-live-media.test.ts
2026-05-27 10:29:24 +02:00

42 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { parseArgs } from "../../scripts/test-live-media.ts";
describe("scripts/test-live-media", () => {
it("rejects unknown global providers for the selected suites", () => {
expect(() =>
parseArgs(["image", "--providers", "definitely-not-a-provider", "--all-providers"]),
).toThrow("Unknown provider(s) for selected media suite(s): definitely-not-a-provider");
});
it("rejects unknown suite-specific providers", () => {
expect(() => parseArgs(["image", "--image-providers", "runway", "--all-providers"])).toThrow(
"Unknown image provider(s): runway",
);
});
it("accepts providers supported by the wrapped live suites", () => {
expect(
parseArgs(["image", "--image-providers", "openrouter", "--all-providers"]).suiteProviders
.image,
).toEqual(new Set(["openrouter"]));
expect(
parseArgs(["music", "--music-providers", "fal,openrouter", "--all-providers"]).suiteProviders
.music,
).toEqual(new Set(["fal", "openrouter"]));
expect(
parseArgs(["video", "--video-providers", "openrouter", "--all-providers"]).suiteProviders
.video,
).toEqual(new Set(["openrouter"]));
});
it("passes single-dash Vitest args after the option separator", () => {
expect(
parseArgs(["image", "--all-providers", "--project", "tooling", "--", "-t", "media-smoke"]),
).toMatchObject({
suites: ["image"],
requireAuth: false,
passthroughArgs: ["--project", "tooling", "-t", "media-smoke"],
});
});
});