diff options
| author | Richie Foreman <[email protected]> | 2025-08-04 16:41:58 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-04 20:41:58 +0000 |
| commit | 11808ef7ed3735b848ed23ef8b3eb0f8cdb95775 (patch) | |
| tree | 5041b8d8eac2cdc29ca44fb68b4c157008c611dd /packages/cli/src/config/config.test.ts | |
| parent | 8da6d23688646dde2011fc3577faea1093077a3e (diff) | |
fix(core): Allow model to be set from `settings.json` (#5527)
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 }; |
