mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* first part of transition * second part of transition * remove jest * bump up node version and playwright version * update all screenshots because of the new playwright version * fix tests * one more screenshot update
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
// @vitest-environment jsdom
|
|
|
|
import { useRouter } from 'next/router';
|
|
|
|
import type { Mock } from 'vitest';
|
|
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
import { renderHook } from 'vitest/lib';
|
|
|
|
import { useClusterSearch } from './useClusterSearch';
|
|
|
|
vi.mock('next/router', () => ({
|
|
useRouter: vi.fn(),
|
|
}));
|
|
|
|
const mockUseRouter = useRouter as Mock<typeof useRouter>;
|
|
|
|
describe('useClusterSearch', () => {
|
|
beforeEach(() => {
|
|
vi.clearAllMocks();
|
|
});
|
|
|
|
it('should return search term from router query', async() => {
|
|
mockUseRouter.mockReturnValue({
|
|
query: { q: 'test-search' },
|
|
} as unknown as ReturnType<typeof useRouter>);
|
|
|
|
const { result } = await renderHook(() => useClusterSearch());
|
|
|
|
expect(result.current.searchTerm).toBe('test-search');
|
|
});
|
|
|
|
it('should debounce search term', async() => {
|
|
mockUseRouter.mockReturnValue({
|
|
query: { q: 'test' },
|
|
} as unknown as ReturnType<typeof useRouter>);
|
|
|
|
const { result } = await renderHook(() => useClusterSearch());
|
|
|
|
expect(result.current.debouncedSearchTerm).toBe('test');
|
|
});
|
|
|
|
it('should handle empty query', async() => {
|
|
mockUseRouter.mockReturnValue({
|
|
query: {},
|
|
} as unknown as ReturnType<typeof useRouter>);
|
|
|
|
const { result } = await renderHook(() => useClusterSearch());
|
|
|
|
expect(result.current.searchTerm).toBe('');
|
|
expect(result.current.debouncedSearchTerm).toBe('');
|
|
});
|
|
});
|