diff --git a/.betterer.results b/.betterer.results index 6e44507467f..f47aa3ae24e 100644 --- a/.betterer.results +++ b/.betterer.results @@ -23,9 +23,6 @@ exports[`no enzyme tests`] = { "packages/grafana-ui/src/slate-plugins/suggestions.test.tsx:2682912140": [ [0, 18, 13, "RegExp match", "2409514259"] ], - "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js:4256741694": [ - [14, 19, 13, "RegExp match", "2409514259"] - ], "packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/TickLabels.test.js:2931161174": [ [14, 19, 13, "RegExp match", "2409514259"] ], diff --git a/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js b/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js index 88943f3dd27..1f1ca955b78 100644 --- a/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js +++ b/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.test.js @@ -12,51 +12,51 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { shallow } from 'enzyme'; +import { render, screen, fireEvent, within } from '@testing-library/react'; import React from 'react'; -import sinon from 'sinon'; -import Scrubber, { getStyles } from './Scrubber'; +import Scrubber from './Scrubber'; describe('', () => { const defaultProps = { - onMouseDown: sinon.spy(), position: 0, }; - let wrapper; + let rerender; beforeEach(() => { - wrapper = shallow(); + ({ rerender } = render( + + + + )); }); it('contains the proper svg components', () => { - const styles = getStyles(); - expect( - wrapper.matchesElement( - - - - - - - - ) - ).toBeTruthy(); + const scrubberComponent = screen.getByTestId('scrubber-component'); + const scrubberComponentG = screen.getByTestId('scrubber-component-g'); + + expect(within(scrubberComponent).getByTestId('scrubber-component-g')).toBeTruthy(); + expect(within(scrubberComponent).getByTestId('scrubber-component-line')).toBeTruthy(); + expect(within(scrubberComponentG).getByTestId('scrubber-component-rect-1')).toBeTruthy(); + expect(within(scrubberComponentG).getByTestId('scrubber-component-rect-2')).toBeTruthy(); }); it('calculates the correct x% for a timestamp', () => { - wrapper = shallow(); - const line = wrapper.find('line').first(); - const rect = wrapper.find('rect').first(); - expect(line.prop('x1')).toBe('50%'); - expect(line.prop('x2')).toBe('50%'); - expect(rect.prop('x')).toBe('50%'); + rerender( + + + + ); + const line = screen.getByTestId('scrubber-component-line'); + const rect = screen.getByTestId('scrubber-component-rect-1'); + + expect(line).toHaveAttribute('x1', '50%'); + expect(line).toHaveAttribute('x2', '50%'); + expect(rect).toHaveAttribute('x', '50%'); }); it('supports onMouseDown', () => { - const event = {}; - wrapper.find(`.${getStyles().ScrubberHandles}`).prop('onMouseDown')(event); - expect(defaultProps.onMouseDown.calledWith(event)).toBeTruthy(); + expect(fireEvent.mouseDown(screen.getByTestId('scrubber-component-g'))).toBeTruthy(); }); }); diff --git a/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.tsx b/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.tsx index b4cd86699d4..94bec0f1769 100644 --- a/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.tsx +++ b/packages/jaeger-ui-components/src/TracePageHeader/SpanGraph/Scrubber.tsx @@ -85,8 +85,9 @@ export default function Scrubber({ isDragging, onMouseDown, onMouseEnter, onMous const styles = useStyles2(getStyles); const className = cx({ [styles.ScrubberDragging]: isDragging }); return ( - + {/* handleExpansion is only visible when `isDragging` is true */} - + ); }