mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-28 19:52:02 +00:00
fix(vscode-ide-companion): preserve model metadata on switch
Refs #2515
This commit is contained in:
parent
38caa0b218
commit
da1cc50c0c
2 changed files with 54 additions and 2 deletions
|
|
@ -5,7 +5,11 @@
|
|||
*/
|
||||
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { extractSessionListItems } from './qwenAgentManager.js';
|
||||
import {
|
||||
extractSessionListItems,
|
||||
QwenAgentManager,
|
||||
} from './qwenAgentManager.js';
|
||||
import type { ModelInfo } from '@agentclientprotocol/sdk';
|
||||
|
||||
vi.mock('vscode', () => ({
|
||||
window: {
|
||||
|
|
@ -54,3 +58,48 @@ describe('extractSessionListItems', () => {
|
|||
expect(extractSessionListItems({})).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('QwenAgentManager.setModelFromUi', () => {
|
||||
it('emits the selected model metadata from the available models list', async () => {
|
||||
const manager = new QwenAgentManager();
|
||||
const onModelChanged = vi.fn();
|
||||
manager.onModelChanged(onModelChanged);
|
||||
|
||||
const selectedModel: ModelInfo = {
|
||||
modelId: 'qwen3-coder-plus',
|
||||
name: 'Qwen3 Coder Plus',
|
||||
_meta: {
|
||||
contextLimit: 262144,
|
||||
},
|
||||
};
|
||||
|
||||
(
|
||||
manager as unknown as {
|
||||
baselineAvailableModels: ModelInfo[];
|
||||
}
|
||||
).baselineAvailableModels = [
|
||||
{
|
||||
modelId: 'qwen3-coder-base',
|
||||
name: 'Qwen3 Coder Base',
|
||||
_meta: {
|
||||
contextLimit: 131072,
|
||||
},
|
||||
},
|
||||
selectedModel,
|
||||
];
|
||||
|
||||
(
|
||||
manager as unknown as {
|
||||
connection: {
|
||||
setModel: (modelId: string) => Promise<{ modelId: string }>;
|
||||
};
|
||||
}
|
||||
).connection = {
|
||||
setModel: vi.fn().mockResolvedValue({ modelId: selectedModel.modelId }),
|
||||
};
|
||||
|
||||
await manager.setModelFromUi(selectedModel.modelId);
|
||||
|
||||
expect(onModelChanged).toHaveBeenCalledWith(selectedModel);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue