58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { mergeProviderPreferences } from "./use-form-preferences";
|
|
|
|
describe("mergeProviderPreferences", () => {
|
|
it("stores the selected model for a provider", () => {
|
|
expect(
|
|
mergeProviderPreferences({
|
|
preferences: {},
|
|
provider: "claude",
|
|
updates: { model: "claude-opus-4-6" },
|
|
}),
|
|
).toEqual({
|
|
provider: "claude",
|
|
providerPreferences: {
|
|
claude: {
|
|
model: "claude-opus-4-6",
|
|
},
|
|
},
|
|
});
|
|
});
|
|
|
|
it("merges thinking preferences by model without dropping existing entries", () => {
|
|
expect(
|
|
mergeProviderPreferences({
|
|
preferences: {
|
|
provider: "claude",
|
|
providerPreferences: {
|
|
claude: {
|
|
model: "claude-sonnet-4-6",
|
|
thinkingByModel: {
|
|
"claude-sonnet-4-6": "medium",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
provider: "claude",
|
|
updates: {
|
|
thinkingByModel: {
|
|
"claude-opus-4-6": "high",
|
|
},
|
|
},
|
|
}),
|
|
).toEqual({
|
|
provider: "claude",
|
|
providerPreferences: {
|
|
claude: {
|
|
model: "claude-sonnet-4-6",
|
|
thinkingByModel: {
|
|
"claude-sonnet-4-6": "medium",
|
|
"claude-opus-4-6": "high",
|
|
},
|
|
},
|
|
},
|
|
});
|
|
});
|
|
});
|