Files
OmniRoute/tests/unit/quota-plan-registry.test.ts
2026-05-27 19:05:06 -03:00

83 lines
2.7 KiB
TypeScript

import { test } from "node:test";
import assert from "node:assert/strict";
import { getKnownPlan, knownProviders } from "../../src/lib/quota/planRegistry";
test("getKnownPlan('codex') returns non-null with 2 dimensions", () => {
const p = getKnownPlan("codex");
assert.notEqual(p, null);
assert.equal(p?.provider, "codex");
assert.equal(p?.dimensions.length, 2);
});
test("getKnownPlan('codex') first dimension is percent/5h/100", () => {
const p = getKnownPlan("codex");
assert.deepEqual(p?.dimensions[0], { unit: "percent", window: "5h", limit: 100 });
});
test("getKnownPlan('codex') second dimension is percent/weekly/100", () => {
const p = getKnownPlan("codex");
assert.deepEqual(p?.dimensions[1], { unit: "percent", window: "weekly", limit: 100 });
});
test("getKnownPlan('glm') has 2 dimensions, tokens unit", () => {
const p = getKnownPlan("glm");
assert.equal(p?.dimensions.length, 2);
for (const d of p?.dimensions ?? []) {
assert.equal(d.unit, "tokens");
}
});
test("getKnownPlan('minimax') has 2 dimensions", () => {
const p = getKnownPlan("minimax");
assert.equal(p?.dimensions.length, 2);
});
test("getKnownPlan('bailian') has 3 dimensions (5h/weekly/monthly)", () => {
const p = getKnownPlan("bailian");
assert.equal(p?.dimensions.length, 3);
const ws = p?.dimensions.map((d) => d.window);
assert.ok(ws?.includes("5h"));
assert.ok(ws?.includes("weekly"));
assert.ok(ws?.includes("monthly"));
});
test("getKnownPlan('kimi') has 1 dimension: requests/hourly/1500", () => {
const p = getKnownPlan("kimi");
assert.deepEqual(p?.dimensions, [{ unit: "requests", window: "hourly", limit: 1500 }]);
});
test("getKnownPlan('alibaba') has 1 dimension: requests/monthly/90000", () => {
const p = getKnownPlan("alibaba");
assert.deepEqual(p?.dimensions, [{ unit: "requests", window: "monthly", limit: 90_000 }]);
});
test("getKnownPlan('unknown') returns null", () => {
assert.equal(getKnownPlan("unknown"), null);
});
test("getKnownPlan('openai') returns null (manual obrigatório)", () => {
assert.equal(getKnownPlan("openai"), null);
});
test("getKnownPlan('') returns null", () => {
assert.equal(getKnownPlan(""), null);
});
test("knownProviders() returns exactly 6 entries", () => {
assert.equal(knownProviders().length, 6);
});
test("knownProviders() includes codex/glm/minimax/bailian/kimi/alibaba", () => {
const list = knownProviders() as readonly string[];
for (const p of ["codex", "glm", "minimax", "bailian", "kimi", "alibaba"]) {
assert.ok(list.includes(p), `missing ${p}`);
}
});
test("every provider in knownProviders has a non-null plan", () => {
for (const provider of knownProviders()) {
assert.notEqual(getKnownPlan(provider), null, `getKnownPlan('${provider}') null`);
}
});