mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-10-30 19:32:39 +08:00
test(vscode): cover default agent clear paths
Follow-up hardening for #7835
This commit is contained in:
@@ -131,6 +131,19 @@ describe("ConfigState", () => {
|
||||
expect(s.config.agent?.code?.hidden).toBe(true)
|
||||
expect(s.config.default_agent).toBeUndefined()
|
||||
})
|
||||
|
||||
it("preserves clearing default_agent when the current default is disabled", () => {
|
||||
const s = new ConfigState()
|
||||
s.handleConfigLoaded({ default_agent: "code", agent: { code: { disable: false } } })
|
||||
|
||||
s.updateConfig({ agent: { code: { disable: true } } })
|
||||
s.updateConfig({ default_agent: null })
|
||||
|
||||
s.handleConfigLoaded({ default_agent: "code", agent: { code: { disable: false } } })
|
||||
|
||||
expect(s.config.agent?.code?.disable).toBe(true)
|
||||
expect(s.config.default_agent).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
describe("configUpdated while draft is pending", () => {
|
||||
@@ -161,6 +174,21 @@ describe("ConfigState", () => {
|
||||
expect(s.saving).toBe(false)
|
||||
expect(Object.keys(s.draft).length).toBe(0)
|
||||
})
|
||||
|
||||
it("clears default_agent when update confirms a null-sentinel save", () => {
|
||||
const s = new ConfigState()
|
||||
s.handleConfigLoaded({ default_agent: "code" })
|
||||
s.updateConfig({ default_agent: null })
|
||||
s.saveConfig()
|
||||
|
||||
// Server confirms the write by returning config without default_agent.
|
||||
s.handleConfigUpdated({})
|
||||
|
||||
expect(s.config.default_agent).toBeUndefined()
|
||||
expect(s.dirty).toBe(false)
|
||||
expect(s.saving).toBe(false)
|
||||
expect(Object.keys(s.draft).length).toBe(0)
|
||||
})
|
||||
})
|
||||
|
||||
it("configLoaded is ignored while save is in-flight", () => {
|
||||
|
||||
Reference in New Issue
Block a user