import { render, screen } from '@testing-library/react'; import { getDefaultTimeRange, MutableDataFrame } from '@grafana/data'; import { UnconnectedNodeGraphContainer } from './NodeGraphContainer'; describe('NodeGraphContainer', () => { it('is collapsed if shown with traces', () => { const { container } = render( {}} withTraceView={true} datasourceType={''} /> ); // Make sure we only show header and loading bar container from PanelChrome in the collapsible expect(container.firstChild?.childNodes.length).toBe(2); }); it('shows the graph if not with trace view', async () => { const { container } = render( {}} datasourceType={''} /> ); expect(container.firstChild?.childNodes.length).toBe(3); expect(container.querySelector('svg')).toBeInTheDocument(); await screen.findByLabelText(/Node: tempo-querier/); }); }); const emptyFrame = new MutableDataFrame(); const nodes = new MutableDataFrame({ fields: toFields([ ['id', ['3fa414edcef6ad90']], ['title', ['tempo-querier']], ['subTitle', ['HTTP GET - api_traces_traceid']], ['mainStat', ['1049.14ms (100%)']], ['secondaryStat', ['1047.29ms (99.82%)']], ['color', [0.9982395121342127]], ]), }); function toFields(fields: Array<[string, unknown[]]>) { return fields.map(([name, values]) => { return { name, values }; }); }