/usr/share/grafana/public/app/features/explore/TraceView
import { renderHook, act } from '@testing-library/react'; import { TraceSpan } from './components/types/trace'; import { useChildrenState } from './useChildrenState'; describe('useChildrenState', () => { describe('childrenToggle', () => { it('toggles children state', async () => { const { result } = renderHook(() => useChildrenState()); expect(result.current.childrenHiddenIDs.size).toBe(0); act(() => result.current.childrenToggle('testId')); expect(result.current.childrenHiddenIDs.size).toBe(1); expect(result.current.childrenHiddenIDs.has('testId')).toBe(true); act(() => result.current.childrenToggle('testId')); expect(result.current.childrenHiddenIDs.size).toBe(0); }); }); describe('expandAll', () => { it('expands all', async () => { const { result } = renderHook(() => useChildrenState()); act(() => result.current.childrenToggle('testId1')); act(() => result.current.childrenToggle('testId2')); expect(result.current.childrenHiddenIDs.size).toBe(2); act(() => result.current.expandAll()); expect(result.current.childrenHiddenIDs.size).toBe(0); }); }); describe('collapseAll', () => { it('hides spans that have children', async () => { const { result } = renderHook(() => useChildrenState()); act(() => result.current.collapseAll([ { spanID: 'span1', hasChildren: true } as TraceSpan, { spanID: 'span2', hasChildren: false } as TraceSpan, ]) ); expect(result.current.childrenHiddenIDs.size).toBe(1); expect(result.current.childrenHiddenIDs.has('span1')).toBe(true); }); it('does nothing if already collapsed', async () => { const { result } = renderHook(() => useChildrenState()); act(() => result.current.childrenToggle('span1')); act(() => result.current.collapseAll([ { spanID: 'span1', hasChildren: true } as TraceSpan, { spanID: 'span2', hasChildren: false } as TraceSpan, ]) ); expect(result.current.childrenHiddenIDs.size).toBe(1); expect(result.current.childrenHiddenIDs.has('span1')).toBe(true); }); }); // Other function are not yet used. });
.
Edit
..
Edit
TraceView.test.tsx
Edit
TraceView.tsx
Edit
TraceViewContainer.test.tsx
Edit
TraceViewContainer.tsx
Edit
components
Edit
createSpanLink.test.ts
Edit
createSpanLink.tsx
Edit
custom.d.ts
Edit
useChildrenState.test.ts
Edit
useChildrenState.ts
Edit
useDetailState.test.ts
Edit
useDetailState.ts
Edit
useHoverIndentGuide.test.ts
Edit
useHoverIndentGuide.ts
Edit
useSearch.test.ts
Edit
useSearch.ts
Edit
useViewRange.test.ts
Edit
useViewRange.ts
Edit
utils
Edit