diff options
Diffstat (limited to 'packages/cli/src/config/config.test.ts')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index d8d463c2..431b1375 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -917,6 +917,68 @@ describe('loadCliConfig extensions', () => { }); }); +describe('loadCliConfig model selection', () => { + it('selects a model from settings.json if provided', async () => { + process.argv = ['node', 'script.js']; + const argv = await parseArguments(); + const config = await loadCliConfig( + { + model: 'gemini-9001-ultra', + }, + [], + 'test-session', + argv, + ); + + expect(config.getModel()).toBe('gemini-9001-ultra'); + }); + + it('uses the default gemini model if nothing is set', async () => { + process.argv = ['node', 'script.js']; // No model set. + const argv = await parseArguments(); + const config = await loadCliConfig( + { + // No model set. + }, + [], + 'test-session', + argv, + ); + + expect(config.getModel()).toBe('gemini-2.5-pro'); + }); + + it('always prefers model from argvs', async () => { + process.argv = ['node', 'script.js', '--model', 'gemini-8675309-ultra']; + const argv = await parseArguments(); + const config = await loadCliConfig( + { + model: 'gemini-9001-ultra', + }, + [], + 'test-session', + argv, + ); + + expect(config.getModel()).toBe('gemini-8675309-ultra'); + }); + + it('selects the model from argvs if provided', async () => { + process.argv = ['node', 'script.js', '--model', 'gemini-8675309-ultra']; + const argv = await parseArguments(); + const config = await loadCliConfig( + { + // No model provided via settings. + }, + [], + 'test-session', + argv, + ); + + expect(config.getModel()).toBe('gemini-8675309-ultra'); + }); +}); + describe('loadCliConfig ideModeFeature', () => { const originalArgv = process.argv; const originalEnv = { ...process.env }; |
