import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary'; import {browserHistory} from 'sentry/utils/browserHistory'; import localStorage from 'sentry/utils/localStorage'; import {PlatformSelector} from 'sentry/views/insights/mobile/screenload/components/platformSelector'; jest.mock('sentry/utils/localStorage'); describe('PlatformSelector', function () { it('renders with iOS and Android options', function () { render(); expect(screen.getByRole('radiogroup', {name: 'Filter platform'})).toBeInTheDocument(); expect(screen.getByRole('radio', {name: 'Android'})).toBeChecked(); expect(screen.getByRole('radio', {name: 'iOS'})).not.toBeChecked(); }); it('updates url params on click', async function () { render(); await userEvent.click(screen.getByRole('radio', {name: 'iOS'})); expect(browserHistory.push).toHaveBeenCalledWith({ pathname: '/mock-pathname/', query: { platform: 'iOS', screensCursor: undefined, }, }); expect(localStorage.setItem).toHaveBeenCalledWith( 'mobile-performance-platform', 'iOS' ); }); });