Просмотр исходного кода

test(core): Layer 2 priority coverage (PPIO vs OpenRouter)

fanghanjun 6 месяцев назад
Родитель
Сommit
b95445d839
1 измененных файлов с 21 добавлено и 0 удалено
  1. 21 0
      packages/core/src/__tests__/providers-lookup.test.ts

+ 21 - 0
packages/core/src/__tests__/providers-lookup.test.ts

@@ -48,6 +48,27 @@ describe("lookupModel", () => {
   });
 });
 
+describe("Layer 2 优先级(B5:PPIO vs OpenRouter 同 id)", () => {
+  it("deepseek/deepseek-r1 在 PPIO 和 OpenRouter 都有,按 PROVIDER_PRIORITY 取 ppio(第二梯队)而不是 openrouter(第三梯队)", () => {
+    const hit = lookupModel("custom", "deepseek/deepseek-r1");
+    expect(hit).toBeDefined();
+    // PPIO 的 contextWindow 是 64000,OpenRouter 的是 163840
+    expect(hit?.contextWindowTokens).toBe(64000);
+  });
+
+  it("OpenRouter 专属带后缀 id(:free)命中 openrouter provider", () => {
+    const hit = lookupModel("custom", "google/gemma-2-9b-it:free");
+    expect(hit).toBeDefined();
+    expect(hit?.maxOutput).toBe(4096);
+  });
+
+  it("PPIO 专属带斜线 id 命中 ppio provider", () => {
+    const hit = lookupModel("ppio", "deepseek/deepseek-v3");
+    expect(hit?.maxOutput).toBe(4096);
+    expect(hit?.contextWindowTokens).toBe(64000);
+  });
+});
+
 describe("listEnabledModels", () => {
   it("返回 provider 里 enabled !== false 的 models", () => {
     const models = listEnabledModels("anthropic");