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