mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import { act, renderHook } from '@testing-library/react-hooks';
|
|
|
|
import { TraceSpan } from '@jaegertracing/jaeger-ui-components';
|
|
|
|
import { useSearch } from './useSearch';
|
|
|
|
describe('useSearch', () => {
|
|
it('returns matching span IDs', async () => {
|
|
const { result } = renderHook(() =>
|
|
useSearch([
|
|
{
|
|
spanID: 'span1',
|
|
operationName: 'operation1',
|
|
process: {
|
|
serviceName: 'service1',
|
|
tags: [],
|
|
},
|
|
tags: [],
|
|
logs: [],
|
|
} as unknown as TraceSpan,
|
|
|
|
{
|
|
spanID: 'span2',
|
|
operationName: 'operation2',
|
|
process: {
|
|
serviceName: 'service2',
|
|
tags: [],
|
|
},
|
|
tags: [],
|
|
logs: [],
|
|
} as unknown as TraceSpan,
|
|
])
|
|
);
|
|
|
|
act(() => result.current.setSearch('service1'));
|
|
expect(result.current.spanFindMatches?.size).toBe(1);
|
|
expect(result.current.spanFindMatches?.has('span1')).toBe(true);
|
|
});
|
|
|
|
it('works without spans', async () => {
|
|
const { result } = renderHook(() => useSearch());
|
|
|
|
act(() => result.current.setSearch('service1'));
|
|
expect(result.current.spanFindMatches).toBe(undefined);
|
|
});
|
|
});
|