playerDOMAlert.spec.tsx 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import {render, screen} from 'sentry-test/reactTestingLibrary';
  2. import localStorage from 'sentry/utils/localStorage';
  3. import PlayerDOMAlert from './playerDOMAlert';
  4. jest.mock('sentry/utils/localStorage');
  5. describe('PlayerDOMAlert', () => {
  6. it('should render the alert when local storage key is not set', () => {
  7. render(<PlayerDOMAlert />);
  8. expect(screen.getByTestId('player-dom-alert')).toBeVisible();
  9. });
  10. it('should not render the alert when the local storage key is set', () => {
  11. // @ts-expect-error
  12. localStorage.getItem.mockImplementationOnce(() => '1');
  13. render(<PlayerDOMAlert />);
  14. expect(screen.queryByTestId('player-dom-alert')).not.toBeInTheDocument();
  15. });
  16. it('should be dismissable', () => {
  17. render(<PlayerDOMAlert />);
  18. expect(screen.getByTestId('player-dom-alert')).toBeVisible();
  19. screen.getByLabelText('Close Alert').click();
  20. expect(screen.queryByTestId('player-dom-alert')).not.toBeInTheDocument();
  21. expect(localStorage.setItem).toHaveBeenCalledWith(
  22. 'replay-player-dom-alert-dismissed',
  23. '1'
  24. );
  25. });
  26. });