import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { TopologyControlBar, createTopologyControlButtons, defaultControlButtonsOptions } from '../TopologyControlBar'; describe('TopologyControlBar', () => { test('should display the default controls correctly', async () => { const controlButtons = createTopologyControlButtons(); const onButtonClick = jest.fn(); const user = userEvent.setup(); const { asFragment } = render( ); await user.click(screen.getByText('Zoom In')); expect(onButtonClick).toHaveBeenCalledTimes(1); expect(asFragment()).toMatchSnapshot(); }); test('should accept button options correctly', async () => { const zoomInCallback = jest.fn(); const controlButtons = createTopologyControlButtons({ ...defaultControlButtonsOptions, zoomInCallback, zoomInAriaLabel: 'test-zoom-in-aria-label', zoomInIcon: test zoom in, zoomInTip: 'test zoom in tooltip', fitToScreenHidden: true, resetViewDisabled: true, legend: false }); const user = userEvent.setup(); const { asFragment } = render( ); await user.click(screen.getByText('test zoom in')); expect(zoomInCallback).toHaveBeenCalledTimes(1); expect(asFragment()).toMatchSnapshot(); }); });