/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
import { helpCommand } from './helpCommand.js';
import {} from './types.js';
import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
import { MessageType } from '../types.js';
import { CommandKind } from './types.js';
describe('helpCommand', () => {
    let mockContext;
    const originalEnv = { ...process.env };
    beforeEach(() => {
        mockContext = createMockCommandContext({
            ui: {
                addItem: vi.fn(),
            },
        });
    });
    afterEach(() => {
        process.env = { ...originalEnv };
        vi.clearAllMocks();
    });
    it('should add a help message to the UI history', async () => {
        if (!helpCommand.action) {
            throw new Error('Help command has no action');
        }
        await helpCommand.action(mockContext, '');
        expect(mockContext.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
            type: MessageType.HELP,
            timestamp: expect.any(Date),
        }));
    });
    it('should have the correct command properties', () => {
        expect(helpCommand.name).toBe('help');
        expect(helpCommand.kind).toBe(CommandKind.BUILT_IN);
        expect(helpCommand.description).toBe('For help on gemini-cli');
    });
});
//# sourceMappingURL=helpCommand.test.js.map