mirror of
https://github.com/moltbot/moltbot.git
synced 2026-05-13 15:47:28 +00:00
test: tighten arcee provider assertions
This commit is contained in:
@@ -20,19 +20,21 @@ describe("arcee provider plugin", () => {
|
||||
providers: [provider],
|
||||
choice: "arceeai-api-key",
|
||||
});
|
||||
expect(directChoice).toMatchObject({
|
||||
provider: { id: "arcee" },
|
||||
method: { id: "arcee-platform" },
|
||||
});
|
||||
if (!directChoice) {
|
||||
throw new Error("expected direct Arcee auth choice");
|
||||
}
|
||||
expect(directChoice.provider.id).toBe("arcee");
|
||||
expect(directChoice.method.id).toBe("arcee-platform");
|
||||
|
||||
const orChoice = resolveProviderPluginChoice({
|
||||
providers: [provider],
|
||||
choice: "arceeai-openrouter",
|
||||
});
|
||||
expect(orChoice).toMatchObject({
|
||||
provider: { id: "arcee" },
|
||||
method: { id: "openrouter" },
|
||||
});
|
||||
if (!orChoice) {
|
||||
throw new Error("expected OpenRouter Arcee auth choice");
|
||||
}
|
||||
expect(orChoice.provider.id).toBe("arcee");
|
||||
expect(orChoice.method.id).toBe("openrouter");
|
||||
});
|
||||
|
||||
it("stores the OpenRouter onboarding path under the OpenRouter auth profile", async () => {
|
||||
@@ -58,14 +60,12 @@ describe("arcee provider plugin", () => {
|
||||
toApiKeyCredential: () => null,
|
||||
} as never);
|
||||
|
||||
expect(config?.auth?.profiles?.["openrouter:default"]).toMatchObject({
|
||||
provider: "openrouter",
|
||||
mode: "api_key",
|
||||
});
|
||||
expect(config?.models?.providers?.arcee).toMatchObject({
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
api: "openai-completions",
|
||||
});
|
||||
const openRouterProfile = config?.auth?.profiles?.["openrouter:default"];
|
||||
expect(openRouterProfile?.provider).toBe("openrouter");
|
||||
expect(openRouterProfile?.mode).toBe("api_key");
|
||||
const arceeConfig = config?.models?.providers?.arcee;
|
||||
expect(arceeConfig?.baseUrl).toBe("https://openrouter.ai/api/v1");
|
||||
expect(arceeConfig?.api).toBe("openai-completions");
|
||||
expect(config?.models?.providers?.arcee?.models?.map((model) => model.id)).toEqual([
|
||||
"arcee/trinity-mini",
|
||||
"arcee/trinity-large-preview",
|
||||
@@ -94,12 +94,11 @@ describe("arcee provider plugin", () => {
|
||||
"trinity-large-preview",
|
||||
"trinity-large-thinking",
|
||||
]);
|
||||
expect(
|
||||
catalogProvider.models?.find((model) => model.id === "trinity-large-thinking")?.compat,
|
||||
).toMatchObject({
|
||||
supportsTools: false,
|
||||
supportsReasoningEffort: false,
|
||||
});
|
||||
const thinkingCompat = catalogProvider.models?.find(
|
||||
(model) => model.id === "trinity-large-thinking",
|
||||
)?.compat;
|
||||
expect(thinkingCompat?.supportsTools).toBe(false);
|
||||
expect(thinkingCompat?.supportsReasoningEffort).toBe(false);
|
||||
});
|
||||
|
||||
it("builds the OpenRouter-backed Arcee AI model catalog", async () => {
|
||||
@@ -120,31 +119,27 @@ describe("arcee provider plugin", () => {
|
||||
"arcee/trinity-large-preview",
|
||||
"arcee/trinity-large-thinking",
|
||||
]);
|
||||
expect(
|
||||
catalogProvider.models?.find((model) => model.id === "arcee/trinity-large-thinking")?.compat,
|
||||
).toMatchObject({
|
||||
supportsTools: false,
|
||||
supportsReasoningEffort: false,
|
||||
});
|
||||
const thinkingCompat = catalogProvider.models?.find(
|
||||
(model) => model.id === "arcee/trinity-large-thinking",
|
||||
)?.compat;
|
||||
expect(thinkingCompat?.supportsTools).toBe(false);
|
||||
expect(thinkingCompat?.supportsReasoningEffort).toBe(false);
|
||||
});
|
||||
|
||||
it("normalizes Arcee OpenRouter models to vendor-prefixed runtime ids", async () => {
|
||||
const provider = await registerSingleProviderPlugin(arceePlugin);
|
||||
|
||||
expect(
|
||||
provider.normalizeResolvedModel?.({
|
||||
modelId: "arcee/trinity-large-thinking",
|
||||
model: {
|
||||
provider: "arcee",
|
||||
id: "trinity-large-thinking",
|
||||
name: "Trinity Large Thinking",
|
||||
api: "openai-completions",
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
},
|
||||
} as never),
|
||||
).toMatchObject({
|
||||
id: "arcee/trinity-large-thinking",
|
||||
});
|
||||
const openRouterModel = provider.normalizeResolvedModel?.({
|
||||
modelId: "arcee/trinity-large-thinking",
|
||||
model: {
|
||||
provider: "arcee",
|
||||
id: "trinity-large-thinking",
|
||||
name: "Trinity Large Thinking",
|
||||
api: "openai-completions",
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
},
|
||||
} as never);
|
||||
expect(openRouterModel?.id).toBe("arcee/trinity-large-thinking");
|
||||
|
||||
expect(
|
||||
provider.normalizeResolvedModel?.({
|
||||
@@ -163,34 +158,28 @@ describe("arcee provider plugin", () => {
|
||||
it("canonicalizes stale OpenRouter /v1 config and transport metadata", async () => {
|
||||
const provider = await registerSingleProviderPlugin(arceePlugin);
|
||||
|
||||
expect(
|
||||
provider.normalizeConfig?.({
|
||||
provider: "arcee",
|
||||
providerConfig: {
|
||||
api: "openai-completions",
|
||||
baseUrl: "https://openrouter.ai/v1/",
|
||||
models: [],
|
||||
},
|
||||
} as never),
|
||||
).toMatchObject({
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
});
|
||||
const normalizedConfig = provider.normalizeConfig?.({
|
||||
provider: "arcee",
|
||||
providerConfig: {
|
||||
api: "openai-completions",
|
||||
baseUrl: "https://openrouter.ai/v1/",
|
||||
models: [],
|
||||
},
|
||||
} as never);
|
||||
expect(normalizedConfig?.baseUrl).toBe("https://openrouter.ai/api/v1");
|
||||
|
||||
expect(
|
||||
provider.normalizeResolvedModel?.({
|
||||
modelId: "arcee/trinity-large-thinking",
|
||||
model: {
|
||||
provider: "arcee",
|
||||
id: "trinity-large-thinking",
|
||||
name: "Trinity Large Thinking",
|
||||
api: "openai-completions",
|
||||
baseUrl: "https://openrouter.ai/v1",
|
||||
},
|
||||
} as never),
|
||||
).toMatchObject({
|
||||
id: "arcee/trinity-large-thinking",
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
});
|
||||
const normalizedModel = provider.normalizeResolvedModel?.({
|
||||
modelId: "arcee/trinity-large-thinking",
|
||||
model: {
|
||||
provider: "arcee",
|
||||
id: "trinity-large-thinking",
|
||||
name: "Trinity Large Thinking",
|
||||
api: "openai-completions",
|
||||
baseUrl: "https://openrouter.ai/v1",
|
||||
},
|
||||
} as never);
|
||||
expect(normalizedModel?.id).toBe("arcee/trinity-large-thinking");
|
||||
expect(normalizedModel?.baseUrl).toBe("https://openrouter.ai/api/v1");
|
||||
|
||||
expect(
|
||||
provider.normalizeTransport?.({
|
||||
|
||||
Reference in New Issue
Block a user