summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/commands/ideCommand.test.ts
diff options
context:
space:
mode:
authorShreya Keshive <[email protected]>2025-08-19 10:24:58 -0700
committerGitHub <[email protected]>2025-08-19 17:24:58 +0000
commit9588aa6ef971918b8acfeefdad4f6a33f93349cf (patch)
treeb72ff1f169eb88b832059cd824c58c132463771e /packages/cli/src/ui/commands/ideCommand.test.ts
parentfde5511c270ace148c6328b03fa61d917850f6d3 (diff)
feat: Show /ide subcommands based on connection status instead of ideMode boolean (#6496)
Diffstat (limited to 'packages/cli/src/ui/commands/ideCommand.test.ts')
-rw-r--r--packages/cli/src/ui/commands/ideCommand.test.ts25
1 files changed, 23 insertions, 2 deletions
diff --git a/packages/cli/src/ui/commands/ideCommand.test.ts b/packages/cli/src/ui/commands/ideCommand.test.ts
index 8576320b..f61df287 100644
--- a/packages/cli/src/ui/commands/ideCommand.test.ts
+++ b/packages/cli/src/ui/commands/ideCommand.test.ts
@@ -69,16 +69,35 @@ describe('ideCommand', () => {
vi.mocked(mockConfig.getIdeClient).mockReturnValue({
getCurrentIde: () => DetectedIde.VSCode,
getDetectedIdeDisplayName: () => 'VS Code',
+ getConnectionStatus: () => ({
+ status: core.IDEConnectionStatus.Disconnected,
+ }),
} as ReturnType<Config['getIdeClient']>);
const command = ideCommand(mockConfig);
expect(command).not.toBeNull();
expect(command?.name).toBe('ide');
expect(command?.subCommands).toHaveLength(3);
- expect(command?.subCommands?.[0].name).toBe('disable');
+ expect(command?.subCommands?.[0].name).toBe('enable');
expect(command?.subCommands?.[1].name).toBe('status');
expect(command?.subCommands?.[2].name).toBe('install');
});
+ it('should show disable command when connected', () => {
+ vi.mocked(mockConfig.getIdeMode).mockReturnValue(true);
+ vi.mocked(mockConfig.getIdeClient).mockReturnValue({
+ getCurrentIde: () => DetectedIde.VSCode,
+ getDetectedIdeDisplayName: () => 'VS Code',
+ getConnectionStatus: () => ({
+ status: core.IDEConnectionStatus.Connected,
+ }),
+ } as ReturnType<Config['getIdeClient']>);
+ const command = ideCommand(mockConfig);
+ expect(command).not.toBeNull();
+ const subCommandNames = command?.subCommands?.map((cmd) => cmd.name);
+ expect(subCommandNames).toContain('disable');
+ expect(subCommandNames).not.toContain('enable');
+ });
+
describe('status subcommand', () => {
const mockGetConnectionStatus = vi.fn();
beforeEach(() => {
@@ -161,7 +180,9 @@ describe('ideCommand', () => {
vi.mocked(mockConfig.getIdeMode).mockReturnValue(true);
vi.mocked(mockConfig.getIdeClient).mockReturnValue({
getCurrentIde: () => DetectedIde.VSCode,
- getConnectionStatus: vi.fn(),
+ getConnectionStatus: () => ({
+ status: core.IDEConnectionStatus.Disconnected,
+ }),
getDetectedIdeDisplayName: () => 'VS Code',
} as unknown as ReturnType<Config['getIdeClient']>);
vi.mocked(core.getIdeInstaller).mockReturnValue({