import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { renderHook, waitFor } from '@testing-library/react' import type { ReactNode } from 'react' import { describe, expect, it } from 'vitest' import { useBond } from './useBond' function createWrapper() { const queryClient = new QueryClient({ defaultOptions: { queries: { retry: false } } }) return function Wrapper({ children }: { children: ReactNode }) { return {children} } } describe('useBond', () => { it('returns bond data', async () => { const { result } = renderHook(() => useBond('SU26238RMFS5'), { wrapper: createWrapper() }) await waitFor(() => expect(result.current.isSuccess).toBe(true)) expect(result.current.data?.shortName).toBe('ОФЗ 26238') expect(result.current.data?.marketData.price).toBe(98.5) }) it('returns error on 404', async () => { const { result } = renderHook(() => useBond('NOTFOUND'), { wrapper: createWrapper() }) await waitFor(() => expect(result.current.isError).toBe(true)) }) })