summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/commands/aboutCommand.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/commands/aboutCommand.test.ts')
-rw-r--r--packages/cli/src/ui/commands/aboutCommand.test.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/cli/src/ui/commands/aboutCommand.test.ts b/packages/cli/src/ui/commands/aboutCommand.test.ts
index 43cd59ec..27e96755 100644
--- a/packages/cli/src/ui/commands/aboutCommand.test.ts
+++ b/packages/cli/src/ui/commands/aboutCommand.test.ts
@@ -11,6 +11,8 @@ import { createMockCommandContext } from '../../test-utils/mockCommandContext.js
import * as versionUtils from '../../utils/version.js';
import { MessageType } from '../types.js';
+import { IdeClient } from '../../../../core/src/ide/ide-client.js';
+
vi.mock('../../utils/version.js', () => ({
getCliVersion: vi.fn(),
}));
@@ -25,6 +27,7 @@ describe('aboutCommand', () => {
services: {
config: {
getModel: vi.fn(),
+ getIdeClient: vi.fn(),
},
settings: {
merged: {
@@ -45,6 +48,9 @@ describe('aboutCommand', () => {
Object.defineProperty(process, 'platform', {
value: 'test-os',
});
+ vi.spyOn(mockContext.services.config!, 'getIdeClient').mockReturnValue({
+ getDetectedIdeDisplayName: vi.fn().mockReturnValue('test-ide'),
+ } as Partial<IdeClient> as IdeClient);
});
afterEach(() => {
@@ -78,6 +84,7 @@ describe('aboutCommand', () => {
modelVersion: 'test-model',
selectedAuthType: 'test-auth',
gcpProject: 'test-gcp-project',
+ ideClient: 'test-ide',
},
expect.any(Number),
);
@@ -115,4 +122,31 @@ describe('aboutCommand', () => {
expect.any(Number),
);
});
+
+ it('should not show ide client when it is not detected', async () => {
+ vi.spyOn(mockContext.services.config!, 'getIdeClient').mockReturnValue({
+ getDetectedIdeDisplayName: vi.fn().mockReturnValue(undefined),
+ } as Partial<IdeClient> as IdeClient);
+
+ process.env.SANDBOX = '';
+ if (!aboutCommand.action) {
+ throw new Error('The about command must have an action.');
+ }
+
+ await aboutCommand.action(mockContext, '');
+
+ expect(mockContext.ui.addItem).toHaveBeenCalledWith(
+ expect.objectContaining({
+ type: MessageType.ABOUT,
+ cliVersion: 'test-version',
+ osVersion: 'test-os',
+ sandboxEnv: 'no sandbox',
+ modelVersion: 'test-model',
+ selectedAuthType: 'test-auth',
+ gcpProject: 'test-gcp-project',
+ ideClient: '',
+ }),
+ expect.any(Number),
+ );
+ });
});