Fix mobile dropdown close and draft thinking persistence
Closes #150 Closes #151
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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",
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user