Replaces legacy adapter ids (codex_local / claude_local / gemini_local / claude_compatible) across ~42 test files with pi-mono equivalents: - codex_local → openai-codex - claude_local → claude-pro - gemini_local → gemini-cli - claude_compatible → anthropic Hand-rewrites where fixture semantics changed: - connector-matching: TASK_TYPE_PREFERENCE ordering rebased (claude-pro first for code/content/management; google first for research) - connector-model-policy: getModels(provider) from pi-ai instead of the deleted adapter.module.models array - session-management + edge-case-session: adapter exemption removed; rotation now uniform under pi-mono - ipc-core-admin-handlers: CSV compat model replaced with pi-ai anthropic - connectors.spec: lookup by openai-codex id (catalog now starts with claude-pro) - onboarding-model-pool: listProviderModels(provider) helper; label text changed to "ChatGPT Plus/Pro (Codex)" - database integration: added vault insecure-fallback env + electron mock - command-paths: uses new @main/connector-helpers normalizeCommandValue - pi-mono-migrations: added `as string` casts for 3 negative-existence assertions verifying legacy ids were removed Drops: - pnpm-workspace.yaml packages: [] (was "packages/*"; directory empty) - obsolete CONNECTOR_STRENGTHS import; .module.models probing Verification: - pnpm typecheck → 0 errors - pnpm lint → 0 errors / 0 warnings - pnpm build:verify → 0 errors / 0 warnings - pnpm test:unit → 508/508 pass - pnpm test:integration → 96/96 pass - All 6 adapter hard gates pass (NOT FOUND / 0 matches / empty) - pi-ai / pi-agent-core / pi-coding-agent all resolved @0.67.6
52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { buildConnectorSection } from "@main/prompt-builder/skill-injection";
|
|
|
|
describe("buildConnectorSection", () => {
|
|
it("includes enabled model pools for ready connectors", () => {
|
|
const section = buildConnectorSection({
|
|
allConnectors: [
|
|
{
|
|
id: "openai-codex",
|
|
label: "Codex",
|
|
status: "ready",
|
|
enabledModels: ["gpt-5.4", "gpt-5.4-mini"],
|
|
},
|
|
],
|
|
});
|
|
|
|
expect(section).toContain("Enabled models: gpt-5.4, gpt-5.4-mini.");
|
|
expect(section).toContain("choose from the enabled model pool");
|
|
});
|
|
|
|
it("does not render disabled models in the connector section", () => {
|
|
const section = buildConnectorSection({
|
|
allConnectors: [
|
|
{
|
|
id: "openai-codex",
|
|
label: "Codex",
|
|
status: "ready",
|
|
enabledModels: ["gpt-5.4"],
|
|
},
|
|
],
|
|
});
|
|
|
|
expect(section).toContain("Enabled models: gpt-5.4.");
|
|
expect(section).not.toContain("gpt-5.4-mini");
|
|
});
|
|
|
|
it("omits ready connectors whose enabled pool is empty", () => {
|
|
const section = buildConnectorSection({
|
|
allConnectors: [
|
|
{
|
|
id: "openai-codex",
|
|
label: "Codex",
|
|
status: "ready",
|
|
enabledModels: [],
|
|
},
|
|
],
|
|
});
|
|
|
|
expect(section).toBeNull();
|
|
});
|
|
});
|