summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui')
-rw-r--r--packages/cli/src/ui/App.test.tsx33
-rw-r--r--packages/cli/src/ui/App.tsx2
2 files changed, 34 insertions, 1 deletions
diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx
index 2f12615b..ecd56f5e 100644
--- a/packages/cli/src/ui/App.test.tsx
+++ b/packages/cli/src/ui/App.test.tsx
@@ -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;
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx
index 6bbe47d4..0848e330 100644
--- a/packages/cli/src/ui/App.tsx
+++ b/packages/cli/src/ui/App.tsx
@@ -584,7 +584,7 @@ const App = ({ config, settings, startupWarnings = [] }: AppProps) => {
items={[
<Box flexDirection="column" key="header">
<Header terminalWidth={terminalWidth} />
- <Tips config={config} />
+ {!settings.merged.hideTips && <Tips config={config} />}
{updateMessage && <UpdateNotification message={updateMessage} />}
</Box>,
...history.map((h) => (