UNPKG

@nestbox-ai/cli

Version:

The cli tools that helps developers to build agents

72 lines (53 loc) 2.52 kB
import { describe, it, expect, vi, beforeEach } from 'vitest'; import { Command } from 'commander'; import { registerAuthCommands } from '../src/commands/auth'; describe('Auth Commands', () => { let program: Command; beforeEach(() => { program = new Command(); vi.clearAllMocks(); }); describe('registerAuthCommands', () => { it('should register login command with correct parameters', () => { registerAuthCommands(program); const commands = program.commands; const loginCommand = commands.find(cmd => cmd.name() === 'login'); expect(loginCommand).toBeDefined(); expect(loginCommand?.description()).toBe('Login using Google SSO'); // Check if the command expects a domain argument (it's in the command name) expect(loginCommand?.name()).toBe('login'); }); it('should register logout command with correct parameters', () => { registerAuthCommands(program); const commands = program.commands; const logoutCommand = commands.find(cmd => cmd.name() === 'logout'); expect(logoutCommand).toBeDefined(); expect(logoutCommand?.description()).toBe('Logout from Nestbox platform'); // Check if the command has an optional domain argument (it's in the command name) expect(logoutCommand?.name()).toBe('logout'); }); it('should register all expected auth commands', () => { registerAuthCommands(program); const commandNames = program.commands.map(cmd => cmd.name()); expect(commandNames).toContain('login'); expect(commandNames).toContain('logout'); expect(commandNames).toHaveLength(2); }); it('should have proper command structure for login', () => { registerAuthCommands(program); const loginCommand = program.commands.find(cmd => cmd.name() === 'login'); // Verify command properties expect(loginCommand?.name()).toBe('login'); expect(loginCommand?.description()).toBe('Login using Google SSO'); expect(typeof loginCommand?.action).toBe('function'); }); it('should have proper command structure for logout', () => { registerAuthCommands(program); const logoutCommand = program.commands.find(cmd => cmd.name() === 'logout'); // Verify command properties expect(logoutCommand?.name()).toBe('logout'); expect(logoutCommand?.description()).toBe('Logout from Nestbox platform'); expect(typeof logoutCommand?.action).toBe('function'); }); }); });