Files
9router/tests/unit/freebuff-model-assignment.test.js
T

37 lines
1.5 KiB
JavaScript

import { describe, expect, it } from "vitest";
import { filterConnectionsForModel } from "../../src/sse/services/auth.js";
const connections = [
{ id: "flash-1", providerSpecificData: { freebuffModel: "deepseek/deepseek-v4-flash" } },
{ id: "mimo-1", providerSpecificData: { freebuffModel: "mimo/mimo-v2.5" } },
{ id: "unassigned", providerSpecificData: {} },
];
describe("Freebuff strict model assignment", () => {
it("keeps only accounts assigned to the requested model", () => {
const result = filterConnectionsForModel("freebuff", connections, "mimo/mimo-v2.5", {
providerStrategies: { freebuff: { strictModelAssignment: true } },
});
expect(result.map((connection) => connection.id)).toEqual(["mimo-1"]);
});
it("excludes unassigned accounts when strict mode is enabled", () => {
const result = filterConnectionsForModel("freebuff", connections, "deepseek/deepseek-v4-flash", {
providerStrategies: { freebuff: { strictModelAssignment: true } },
});
expect(result.map((connection) => connection.id)).toEqual(["flash-1"]);
});
it("preserves the existing pool when strict mode is disabled", () => {
expect(filterConnectionsForModel("freebuff", connections, "mimo/mimo-v2.5", {})).toBe(connections);
});
it("does not affect other providers when their toggle is off", () => {
expect(filterConnectionsForModel("codex", connections, "mimo/mimo-v2.5", {
providerStrategies: {},
})).toBe(connections);
});
});