feat(cli): Add hideTips setting (#1524)

Co-authored-by: Allen Hutchison <adh@google.com>
This commit is contained in:
Marcin Jahn
2025-06-30 01:56:37 +02:00
committed by GitHub
parent 1732e90d52
commit d1eb86581c
4 changed files with 46 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ import {
} from '@google/gemini-cli-core';
import { LoadedSettings, SettingsFile, Settings } from '../config/settings.js';
import process from 'node:process';
import { Tips } from './components/Tips.js';
// Define a more complete mock server config based on actual Config
interface MockServerConfig {
@@ -173,6 +174,10 @@ vi.mock('../config/config.js', async (importOriginal) => {
};
});
vi.mock('./components/Tips.js', () => ({
Tips: vi.fn(() => null),
}));
describe('App UI', () => {
let mockConfig: MockServerConfig;
let mockSettings: LoadedSettings;
@@ -379,6 +384,34 @@ describe('App UI', () => {
expect(lastFrame()).toContain('Using 2 MCP servers');
});
it('should display Tips component by default', async () => {
const { unmount } = render(
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
/>,
);
currentUnmount = unmount;
await Promise.resolve();
expect(vi.mocked(Tips)).toHaveBeenCalled();
});
it('should not display Tips component when hideTips is true', async () => {
mockSettings = createMockSettings({
hideTips: true,
});
const { unmount } = render(
<App
config={mockConfig as unknown as ServerConfig}
settings={mockSettings}
/>,
);
currentUnmount = unmount;
await Promise.resolve();
expect(vi.mocked(Tips)).not.toHaveBeenCalled();
});
describe('when no theme is set', () => {
let originalNoColor: string | undefined;