diff options
Diffstat (limited to 'packages/cli/src/ui')
| -rw-r--r-- | packages/cli/src/ui/App.test.tsx | 36 | ||||
| -rw-r--r-- | packages/cli/src/ui/App.tsx | 12 |
2 files changed, 43 insertions, 5 deletions
diff --git a/packages/cli/src/ui/App.test.tsx b/packages/cli/src/ui/App.test.tsx index c64b526e..4b65603b 100644 --- a/packages/cli/src/ui/App.test.tsx +++ b/packages/cli/src/ui/App.test.tsx @@ -187,6 +187,10 @@ vi.mock('./components/Tips.js', () => ({ Tips: vi.fn(() => null), })); +vi.mock('./components/Header.js', () => ({ + Header: vi.fn(() => null), +})); + describe('App UI', () => { let mockConfig: MockServerConfig; let mockSettings: LoadedSettings; @@ -445,6 +449,38 @@ describe('App UI', () => { expect(vi.mocked(Tips)).not.toHaveBeenCalled(); }); + it('should display Header component by default', async () => { + const { Header } = await import('./components/Header.js'); + const { unmount } = render( + <App + config={mockConfig as unknown as ServerConfig} + settings={mockSettings} + version={mockVersion} + />, + ); + currentUnmount = unmount; + await Promise.resolve(); + expect(vi.mocked(Header)).toHaveBeenCalled(); + }); + + it('should not display Header component when hideBanner is true', async () => { + const { Header } = await import('./components/Header.js'); + mockSettings = createMockSettings({ + user: { hideBanner: true }, + }); + + const { unmount } = render( + <App + config={mockConfig as unknown as ServerConfig} + settings={mockSettings} + version={mockVersion} + />, + ); + currentUnmount = unmount; + await Promise.resolve(); + expect(vi.mocked(Header)).not.toHaveBeenCalled(); + }); + it('should show tips if system says show, but workspace and user settings say hide', async () => { mockSettings = createMockSettings({ system: { hideTips: false }, diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index 6c32c1ea..cd94311b 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -716,11 +716,13 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { key={staticKey} items={[ <Box flexDirection="column" key="header"> - <Header - terminalWidth={terminalWidth} - version={version} - nightly={nightly} - /> + {!settings.merged.hideBanner && ( + <Header + terminalWidth={terminalWidth} + version={version} + nightly={nightly} + /> + )} {!settings.merged.hideTips && <Tips config={config} />} </Box>, ...history.map((h) => ( |
