import { describe, expect, it } from "vite-plus/test";import type { ServerProviderModel } from "@t3tools/contracts"; import { deriveProviderModelsForDisplay, nextProviderEnvironmentWithFieldValue, providerEnvironmentWithoutNames, readProviderEnvironmentVariable,} from "./ProviderInstanceCard"; describe("deriveProviderModelsForDisplay", () => { it("uses current config custom models instead of stale live custom rows", () => { const liveModels: ReadonlyArray<ServerProviderModel> = [ { slug: "server-model", name: "Server Model", isCustom: false, capabilities: null, }, { slug: "removed-custom", name: "Removed Custom", isCustom: true, capabilities: null, }, { slug: "kept-custom", name: "Kept Custom", isCustom: true, capabilities: null, }, ]; expect( deriveProviderModelsForDisplay({ liveModels, customModels: ["kept-custom"], }).map((model) => model.slug), ).toEqual(["server-model", "kept-custom"]); });}); describe("provider environment helpers", () => { const cursorApiKeyField = { name: "CURSOR_API_KEY", label: "Cursor API key", sensitive: true, }; it("writes dedicated provider secrets as sensitive environment variables", () => { expect( nextProviderEnvironmentWithFieldValue( [{ name: "EXTRA_FLAG", value: "1", sensitive: false }], cursorApiKeyField, " cursor-key ", ), ).toEqual([ { name: "EXTRA_FLAG", value: "1", sensitive: false }, { name: "CURSOR_API_KEY", value: "cursor-key", sensitive: true }, ]); }); it("replaces redacted provider secrets without preserving redaction markers", () => { expect( nextProviderEnvironmentWithFieldValue( [ { name: "CURSOR_API_KEY", value: "", sensitive: true, valueRedacted: true, }, ], cursorApiKeyField, "new-key", ), ).toEqual([{ name: "CURSOR_API_KEY", value: "new-key", sensitive: true }]); }); it("applies the secure field default when replacing an existing non-sensitive value", () => { expect( nextProviderEnvironmentWithFieldValue( [{ name: "OPENAI_API_KEY", value: "old-key", sensitive: false }], { name: "OPENAI_API_KEY", label: "OpenAI API key", }, "new-key", ), ).toEqual([{ name: "OPENAI_API_KEY", value: "new-key", sensitive: true }]); }); it("separates dedicated provider secrets from the generic environment table", () => { const environment = [ { name: "CURSOR_API_KEY", value: "cursor-key", sensitive: true }, { name: "EXTRA_FLAG", value: "1", sensitive: false }, ]; expect(readProviderEnvironmentVariable(environment, "CURSOR_API_KEY")?.value).toBe( "cursor-key", ); expect(providerEnvironmentWithoutNames(environment, new Set(["CURSOR_API_KEY"]))).toEqual([ { name: "EXTRA_FLAG", value: "1", sensitive: false }, ]); });});
import { describe, expect, it } from "vite-plus/test";
import type { ServerProviderModel } from "@t3tools/contracts";
import {
deriveProviderModelsForDisplay,
nextProviderEnvironmentWithFieldValue,
providerEnvironmentWithoutNames,
readProviderEnvironmentVariable,
} from "./ProviderInstanceCard";
describe("deriveProviderModelsForDisplay", () => {
it("uses current config custom models instead of stale live custom rows", () => {
const liveModels: ReadonlyArray<ServerProviderModel> = [
{
slug: "server-model",
name: "Server Model",
isCustom: false,
capabilities: null,
},
{
slug: "removed-custom",
name: "Removed Custom",
isCustom: true,
capabilities: null,
},
{
slug: "kept-custom",
name: "Kept Custom",
isCustom: true,
capabilities: null,
},
];
expect(
deriveProviderModelsForDisplay({
liveModels,
customModels: ["kept-custom"],
}).map((model) => model.slug),
).toEqual(["server-model", "kept-custom"]);
});
});
describe("provider environment helpers", () => {
const cursorApiKeyField = {
name: "CURSOR_API_KEY",
label: "Cursor API key",
sensitive: true,
};
it("writes dedicated provider secrets as sensitive environment variables", () => {
expect(
nextProviderEnvironmentWithFieldValue(
[{ name: "EXTRA_FLAG", value: "1", sensitive: false }],
cursorApiKeyField,
" cursor-key ",
),
).toEqual([
{ name: "EXTRA_FLAG", value: "1", sensitive: false },
{ name: "CURSOR_API_KEY", value: "cursor-key", sensitive: true },
]);
});
it("replaces redacted provider secrets without preserving redaction markers", () => {
expect(
nextProviderEnvironmentWithFieldValue(
[
{
name: "CURSOR_API_KEY",
value: "",
sensitive: true,
valueRedacted: true,
},
],
cursorApiKeyField,
"new-key",
),
).toEqual([{ name: "CURSOR_API_KEY", value: "new-key", sensitive: true }]);
});
it("applies the secure field default when replacing an existing non-sensitive value", () => {
expect(
nextProviderEnvironmentWithFieldValue(
[{ name: "OPENAI_API_KEY", value: "old-key", sensitive: false }],
{
name: "OPENAI_API_KEY",
label: "OpenAI API key",
},
"new-key",
),
).toEqual([{ name: "OPENAI_API_KEY", value: "new-key", sensitive: true }]);
});
it("separates dedicated provider secrets from the generic environment table", () => {
const environment = [
{ name: "CURSOR_API_KEY", value: "cursor-key", sensitive: true },
{ name: "EXTRA_FLAG", value: "1", sensitive: false },
];
expect(readProviderEnvironmentVariable(environment, "CURSOR_API_KEY")?.value).toBe(
"cursor-key",
);
expect(providerEnvironmentWithoutNames(environment, new Set(["CURSOR_API_KEY"]))).toEqual([
{ name: "EXTRA_FLAG", value: "1", sensitive: false },
]);
});
});