summaryrefslogtreecommitdiff
path: root/packages/cli/src/config/config.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/config/config.test.ts')
-rw-r--r--packages/cli/src/config/config.test.ts62
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 };