commands.test.js
1 import { describe, expect, it, vi } from 'vitest'; 2 import { getRegistry } from '@jackwener/opencli/registry'; 3 import './search.js'; 4 import './recent.js'; 5 6 describe('gov-policy commands', () => { 7 const search = getRegistry().get('gov-policy/search'); 8 const recent = getRegistry().get('gov-policy/recent'); 9 10 it('registers both commands as public browser commands', () => { 11 expect(search).toBeDefined(); 12 expect(recent).toBeDefined(); 13 expect(search.browser).toBe(true); 14 expect(recent.browser).toBe(true); 15 expect(search.strategy).toBe('public'); 16 expect(recent.strategy).toBe('public'); 17 }); 18 19 it('rejects empty search queries before browser navigation', async () => { 20 const page = { goto: vi.fn() }; 21 await expect(search.func(page, { query: ' ' })).rejects.toMatchObject({ 22 name: 'ArgumentError', 23 code: 'ARGUMENT', 24 }); 25 expect(page.goto).not.toHaveBeenCalled(); 26 }); 27 });