Files
ttstd-infinite-canvas/web/test/model-protocols.test.ts

24 lines
1.4 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import { modelProtocolSupportsTokenBilling } from "../src/lib/model-protocols";
describe("model protocol Token billing", () => {
test("supports text and every video protocol", () => {
expect(modelProtocolSupportsTokenBilling("text", "chat-completion")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-ark-video")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-ark-agent-plan-video")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "volcengine-jimeng-video")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "newapi-channel-2")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "newapi")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video", "custom-video-protocol")).toBe(true);
expect(modelProtocolSupportsTokenBilling("video")).toBe(true);
});
test("does not enable Token billing for image, audio or unselected capabilities", () => {
expect(modelProtocolSupportsTokenBilling("image", "volcengine-ark-image")).toBe(false);
expect(modelProtocolSupportsTokenBilling("image", "volcengine-ark-agent-plan-image")).toBe(false);
expect(modelProtocolSupportsTokenBilling("audio", "speech")).toBe(false);
expect(modelProtocolSupportsTokenBilling(undefined, "volcengine-ark-video")).toBe(false);
});
});