mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-01 07:24:38 -07:00
Fix tests (#11998)
This commit is contained in:
@@ -235,13 +235,13 @@ describe('parseArguments', () => {
|
|||||||
'@path',
|
'@path',
|
||||||
'./file.md',
|
'./file.md',
|
||||||
'--model',
|
'--model',
|
||||||
'gemini-1.5-pro',
|
'gemini-2.5-pro',
|
||||||
];
|
];
|
||||||
const argv = await parseArguments({} as Settings);
|
const argv = await parseArguments({} as Settings);
|
||||||
expect(argv.query).toBe('@path ./file.md');
|
expect(argv.query).toBe('@path ./file.md');
|
||||||
expect(argv.prompt).toBe('@path ./file.md'); // Should map to one-shot
|
expect(argv.prompt).toBe('@path ./file.md'); // Should map to one-shot
|
||||||
expect(argv.promptInteractive).toBeUndefined();
|
expect(argv.promptInteractive).toBeUndefined();
|
||||||
expect(argv.model).toBe('gemini-1.5-pro');
|
expect(argv.model).toBe('gemini-2.5-pro');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('maps unquoted positional @path + arg to prompt (one-shot)', async () => {
|
it('maps unquoted positional @path + arg to prompt (one-shot)', async () => {
|
||||||
@@ -1347,7 +1347,7 @@ describe('loadCliConfig model selection', () => {
|
|||||||
const config = await loadCliConfig(
|
const config = await loadCliConfig(
|
||||||
{
|
{
|
||||||
model: {
|
model: {
|
||||||
name: 'gemini-9001-ultra',
|
name: 'gemini-2.5-pro',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
[],
|
[],
|
||||||
@@ -1355,7 +1355,7 @@ describe('loadCliConfig model selection', () => {
|
|||||||
argv,
|
argv,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(config.getModel()).toBe('gemini-9001-ultra');
|
expect(config.getModel()).toBe('gemini-2.5-pro');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('uses the default gemini model if nothing is set', async () => {
|
it('uses the default gemini model if nothing is set', async () => {
|
||||||
@@ -1374,12 +1374,12 @@ describe('loadCliConfig model selection', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('always prefers model from argv', async () => {
|
it('always prefers model from argv', async () => {
|
||||||
process.argv = ['node', 'script.js', '--model', 'gemini-8675309-ultra'];
|
process.argv = ['node', 'script.js', '--model', 'gemini-2.5-flash-preview'];
|
||||||
const argv = await parseArguments({} as Settings);
|
const argv = await parseArguments({} as Settings);
|
||||||
const config = await loadCliConfig(
|
const config = await loadCliConfig(
|
||||||
{
|
{
|
||||||
model: {
|
model: {
|
||||||
name: 'gemini-9001-ultra',
|
name: 'gemini-2.5-pro',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
[],
|
[],
|
||||||
@@ -1387,11 +1387,11 @@ describe('loadCliConfig model selection', () => {
|
|||||||
argv,
|
argv,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(config.getModel()).toBe('gemini-8675309-ultra');
|
expect(config.getModel()).toBe('gemini-2.5-flash-preview');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('selects the model from argv if provided', async () => {
|
it('selects the model from argv if provided', async () => {
|
||||||
process.argv = ['node', 'script.js', '--model', 'gemini-8675309-ultra'];
|
process.argv = ['node', 'script.js', '--model', 'gemini-2.5-flash-preview'];
|
||||||
const argv = await parseArguments({} as Settings);
|
const argv = await parseArguments({} as Settings);
|
||||||
const config = await loadCliConfig(
|
const config = await loadCliConfig(
|
||||||
{
|
{
|
||||||
@@ -1402,7 +1402,7 @@ describe('loadCliConfig model selection', () => {
|
|||||||
argv,
|
argv,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(config.getModel()).toBe('gemini-8675309-ultra');
|
expect(config.getModel()).toBe('gemini-2.5-flash-preview');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1923,7 +1923,7 @@ describe('loadCliConfig interactive', () => {
|
|||||||
|
|
||||||
it('should not be interactive if positional prompt words are provided with other flags', async () => {
|
it('should not be interactive if positional prompt words are provided with other flags', async () => {
|
||||||
process.stdin.isTTY = true;
|
process.stdin.isTTY = true;
|
||||||
process.argv = ['node', 'script.js', '--model', 'gemini-1.5-pro', 'Hello'];
|
process.argv = ['node', 'script.js', '--model', 'gemini-2.5-pro', 'Hello'];
|
||||||
const argv = await parseArguments({} as Settings);
|
const argv = await parseArguments({} as Settings);
|
||||||
const config = await loadCliConfig({}, [], 'test-session', argv);
|
const config = await loadCliConfig({}, [], 'test-session', argv);
|
||||||
expect(config.isInteractive()).toBe(false);
|
expect(config.isInteractive()).toBe(false);
|
||||||
@@ -1935,7 +1935,7 @@ describe('loadCliConfig interactive', () => {
|
|||||||
'node',
|
'node',
|
||||||
'script.js',
|
'script.js',
|
||||||
'--model',
|
'--model',
|
||||||
'gemini-1.5-pro',
|
'gemini-2.5-pro',
|
||||||
'--yolo',
|
'--yolo',
|
||||||
'Hello world',
|
'Hello world',
|
||||||
];
|
];
|
||||||
@@ -1973,7 +1973,7 @@ describe('loadCliConfig interactive', () => {
|
|||||||
'node',
|
'node',
|
||||||
'script.js',
|
'script.js',
|
||||||
'--model',
|
'--model',
|
||||||
'gemini-1.5-pro',
|
'gemini-2.5-pro',
|
||||||
'write',
|
'write',
|
||||||
'a',
|
'a',
|
||||||
'function',
|
'function',
|
||||||
@@ -1985,7 +1985,7 @@ describe('loadCliConfig interactive', () => {
|
|||||||
const config = await loadCliConfig({}, [], 'test-session', argv);
|
const config = await loadCliConfig({}, [], 'test-session', argv);
|
||||||
expect(config.isInteractive()).toBe(false);
|
expect(config.isInteractive()).toBe(false);
|
||||||
expect(argv.query).toBe('write a function to sort array');
|
expect(argv.query).toBe('write a function to sort array');
|
||||||
expect(argv.model).toBe('gemini-1.5-pro');
|
expect(argv.model).toBe('gemini-2.5-pro');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should handle empty positional arguments', async () => {
|
it('should handle empty positional arguments', async () => {
|
||||||
@@ -2019,7 +2019,7 @@ describe('loadCliConfig interactive', () => {
|
|||||||
|
|
||||||
it('should be interactive if no positional prompt words are provided with flags', async () => {
|
it('should be interactive if no positional prompt words are provided with flags', async () => {
|
||||||
process.stdin.isTTY = true;
|
process.stdin.isTTY = true;
|
||||||
process.argv = ['node', 'script.js', '--model', 'gemini-1.5-pro'];
|
process.argv = ['node', 'script.js', '--model', 'gemini-2.5-pro'];
|
||||||
const argv = await parseArguments({} as Settings);
|
const argv = await parseArguments({} as Settings);
|
||||||
const config = await loadCliConfig({}, [], 'test-session', argv);
|
const config = await loadCliConfig({}, [], 'test-session', argv);
|
||||||
expect(config.isInteractive()).toBe(true);
|
expect(config.isInteractive()).toBe(true);
|
||||||
|
|||||||
@@ -2159,7 +2159,7 @@ describe('Settings Loading and Merging', () => {
|
|||||||
},
|
},
|
||||||
ui: {},
|
ui: {},
|
||||||
model: {
|
model: {
|
||||||
name: 'gemini-1.5-pro',
|
name: 'gemini-2.5-pro',
|
||||||
},
|
},
|
||||||
unrecognized: 'value',
|
unrecognized: 'value',
|
||||||
};
|
};
|
||||||
@@ -2168,7 +2168,7 @@ describe('Settings Loading and Merging', () => {
|
|||||||
|
|
||||||
expect(v1Settings).toEqual({
|
expect(v1Settings).toEqual({
|
||||||
vimMode: false,
|
vimMode: false,
|
||||||
model: 'gemini-1.5-pro',
|
model: 'gemini-2.5-pro',
|
||||||
unrecognized: 'value',
|
unrecognized: 'value',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -335,14 +335,14 @@ describe('Telemetry Metrics', () => {
|
|||||||
mockCounterAddFn.mockClear();
|
mockCounterAddFn.mockClear();
|
||||||
|
|
||||||
recordTokenUsageMetricsModule(mockConfig, 200, {
|
recordTokenUsageMetricsModule(mockConfig, 200, {
|
||||||
model: 'gemini-ultra',
|
model: 'gemini-different-model',
|
||||||
type: 'input',
|
type: 'input',
|
||||||
});
|
});
|
||||||
expect(mockCounterAddFn).toHaveBeenCalledWith(200, {
|
expect(mockCounterAddFn).toHaveBeenCalledWith(200, {
|
||||||
'session.id': 'test-session-id',
|
'session.id': 'test-session-id',
|
||||||
'installation.id': 'test-installation-id',
|
'installation.id': 'test-installation-id',
|
||||||
'user.email': 'test@example.com',
|
'user.email': 'test@example.com',
|
||||||
model: 'gemini-ultra',
|
model: 'gemini-different-model',
|
||||||
type: 'input',
|
type: 'input',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user