12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { renderHook, act } from '@testing-library/react-hooks';
- import { TraceSpan } from '@jaegertracing/jaeger-ui-components';
- 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.
- });
|