import {renderWithOnboardingLayout} from 'sentry-test/onboarding/renderWithOnboardingLayout'; import {screen} from 'sentry-test/reactTestingLibrary'; import {textWithMarkupMatcher} from 'sentry-test/utils'; import docs from './rq'; describe('rq onboarding docs', function () { it('renders doc correctly', function () { renderWithOnboardingLayout(docs); // Renders main headings expect(screen.getByRole('heading', {name: 'Install'})).toBeInTheDocument(); expect(screen.getByRole('heading', {name: 'Configure SDK'})).toBeInTheDocument(); expect(screen.getByRole('heading', {name: 'Verify'})).toBeInTheDocument(); expect(screen.getByRole('heading', {name: 'Job definition'})).toBeInTheDocument(); expect( screen.getByRole('heading', {name: 'Settings for worker'}) ).toBeInTheDocument(); expect(screen.getByRole('heading', {name: 'Main Python Script'})).toBeInTheDocument(); // Renders install instructions expect( screen.getByText(textWithMarkupMatcher(/pip install --upgrade 'sentry-sdk\[rq\]'/)) ).toBeInTheDocument(); }); it('renders without performance monitoring', function () { renderWithOnboardingLayout(docs, { selectedProducts: [], }); // Does not render config option expect( screen.queryByText(textWithMarkupMatcher(/traces_sample_rate: 1\.0,/)) ).not.toBeInTheDocument(); // Does not render config option expect( screen.queryByText(textWithMarkupMatcher(/profiles_sample_rate: 1\.0,/)) ).not.toBeInTheDocument(); }); });