import { describe, it, expect, vi, beforeEach } from 'vitest'; import { createProjectCommand } from '../../src/commands/project.js'; import type { ApiClient } from '../../src/api-client.js'; function mockClient(): ApiClient { return { get: vi.fn(async () => []), post: vi.fn(async () => ({ id: 'proj-1', name: 'my-project' })), put: vi.fn(async () => ({})), delete: vi.fn(async () => {}), } as unknown as ApiClient; } describe('project command', () => { let client: ReturnType; let output: string[]; const log = (...args: unknown[]) => output.push(args.map(String).join(' ')); beforeEach(() => { client = mockClient(); output = []; }); it('creates command with alias', () => { const cmd = createProjectCommand({ client, log }); expect(cmd.name()).toBe('project'); expect(cmd.alias()).toBe('proj'); }); });