mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 08:35:43 -06:00
* Use dataframe API for jeager * Move types around * Fix imports * Simplify the data frame type * Add comment * Move the transform to separate file * Fix logs timestamp * Add/update tests for trace view * Fix lint * Add test to compare old and new format rendering * Fix test imports * Update data source tests
66 lines
2.2 KiB
TypeScript
66 lines
2.2 KiB
TypeScript
import { renderHook, act } from '@testing-library/react-hooks';
|
|
import { useChildrenState } from './useChildrenState';
|
|
import { TraceSpan } from '@jaegertracing/jaeger-ui-components';
|
|
|
|
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.
|
|
});
|