import {render, screen} from 'sentry-test/reactTestingLibrary'; import localStorage from 'sentry/utils/localStorage'; import PlayerDOMAlert from './playerDOMAlert'; jest.mock('sentry/utils/localStorage'); describe('PlayerDOMAlert', () => { it('should render the alert when local storage key is not set', () => { render(<PlayerDOMAlert />); expect(screen.getByTestId('player-dom-alert')).toBeVisible(); }); it('should not render the alert when the local storage key is set', () => { // @ts-expect-error localStorage.getItem.mockImplementationOnce(() => '1'); render(<PlayerDOMAlert />); expect(screen.queryByTestId('player-dom-alert')).not.toBeInTheDocument(); }); it('should be dismissable', () => { render(<PlayerDOMAlert />); expect(screen.getByTestId('player-dom-alert')).toBeVisible(); screen.getByLabelText('Close Alert').click(); expect(screen.queryByTestId('player-dom-alert')).not.toBeInTheDocument(); expect(localStorage.setItem).toHaveBeenCalledWith( 'replay-player-dom-alert-dismissed', '1' ); }); });