44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { getModelProvider, isModelAvailableInServer } from "../app/utils/model";
|
|
|
|
describe("getModelProvider", () => {
|
|
test("should return model and provider when input contains '@'", () => {
|
|
const input = "model@provider";
|
|
const [model, provider] = getModelProvider(input);
|
|
expect(model).toBe("model");
|
|
expect(provider).toBe("provider");
|
|
});
|
|
|
|
test("should return model and undefined provider when input does not contain '@'", () => {
|
|
const input = "model";
|
|
const [model, provider] = getModelProvider(input);
|
|
expect(model).toBe("model");
|
|
expect(provider).toBeUndefined();
|
|
});
|
|
|
|
test("should handle multiple '@' characters correctly", () => {
|
|
const input = "model@provider@extra";
|
|
const [model, provider] = getModelProvider(input);
|
|
expect(model).toBe("model@provider");
|
|
expect(provider).toBe("extra");
|
|
});
|
|
|
|
test("should return empty strings when input is empty", () => {
|
|
const input = "";
|
|
const [model, provider] = getModelProvider(input);
|
|
expect(model).toBe("");
|
|
expect(provider).toBeUndefined();
|
|
});
|
|
});
|
|
|
|
describe("isModelAvailableInServer", () => {
|
|
test("works when model null", () => {
|
|
const jsonBody = JSON.parse("{}") as { model?: string };
|
|
const result = isModelAvailableInServer(
|
|
"gpt-3.5-turbo@OpenAI",
|
|
jsonBody.model as string,
|
|
"OpenAI",
|
|
);
|
|
expect(result).toBe(false);
|
|
});
|
|
});
|