import {renderWithOnboardingLayout} from 'sentry-test/onboarding/renderWithOnboardingLayout'; import {screen} from 'sentry-test/reactTestingLibrary'; import {textWithMarkupMatcher} from 'sentry-test/utils'; import docs from './php'; describe('php 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(); // Renders install instructions expect( screen.getByText(textWithMarkupMatcher(/composer require sentry\/sentry/)) ).toBeInTheDocument(); }); it('renders without tracing', 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(); }); });