/usr/share/grafana/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph
// Copyright (c) 2017 Uber Technologies, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import { render, screen } from '@testing-library/react'; import TickLabels from './TickLabels'; describe('<TickLabels>', () => { const defaultProps = { numTicks: 4, duration: 5000, }; let ticks: HTMLElement[]; beforeEach(() => { render(<TickLabels {...defaultProps} />); ticks = screen.getAllByTestId('tick'); }); it('renders the right number of ticks', () => { expect(ticks).toHaveLength(defaultProps.numTicks + 1); }); it('places the first tick on the left', () => { const firstTick = ticks[0]; expect(firstTick).toHaveStyle(`left: 0%;`); }); it('places the last tick on the right', () => { const lastTick = ticks[ticks.length - 1]; expect(lastTick).toHaveStyle(`right: 0%;`); }); it('places middle ticks at proper intervals', () => { const positions = ['25%', '50%', '75%']; positions.forEach((pos, i) => { const tick = ticks.at(i + 1); expect(tick).toHaveStyle(`left: ${pos};`); }); }); it('shows the correct value above each tick', () => { expect(screen.getByText('0μs')).toBeTruthy(); expect(screen.getByText('1.25ms')).toBeTruthy(); expect(screen.getByText('2.5ms')).toBeTruthy(); expect(screen.getByText('3.75ms')).toBeTruthy(); expect(screen.getByText('5ms')).toBeTruthy(); }); });
.
Edit
..
Edit
CanvasSpanGraph.test.tsx
Edit
CanvasSpanGraph.tsx
Edit
GraphTicks.test.tsx
Edit
GraphTicks.tsx
Edit
Scrubber.test.tsx
Edit
Scrubber.tsx
Edit
TickLabels.test.tsx
Edit
TickLabels.tsx
Edit
ViewingLayer.test.tsx
Edit
ViewingLayer.tsx
Edit
index.test.tsx
Edit
index.tsx
Edit
render-into-canvas.test.ts
Edit
render-into-canvas.tsx
Edit