import {render, screen} from 'sentry-test/reactTestingLibrary'; import {StepTitle} from 'sentry/components/onboarding/gettingStartedDoc/step'; import {ProductSolution} from 'sentry/components/onboarding/productSelection'; import GettingStartedWithReact, {nextSteps, steps} from './react'; describe('GettingStartedWithReact', function () { it('all products are selected', function () { const {container} = render( ); // Steps for (const step of steps()) { expect( screen.getByRole('heading', {name: step.title ?? StepTitle[step.type]}) ).toBeInTheDocument(); } // Next Steps const filteredNextStepsLinks = nextSteps.filter( nextStep => ![ ProductSolution.PERFORMANCE_MONITORING, ProductSolution.SESSION_REPLAY, ].includes(nextStep.id as ProductSolution) ); for (const filteredNextStepsLink of filteredNextStepsLinks) { expect( screen.getByRole('link', {name: filteredNextStepsLink.name}) ).toBeInTheDocument(); } expect(container).toSnapshot(); }); it('performance product is not selected', function () { render( ); // Next Steps expect( screen.getByRole('link', {name: 'Performance Monitoring'}) ).toBeInTheDocument(); }); it('session replay product is not selected', function () { render( ); // Next Steps expect(screen.getByRole('link', {name: 'Session Replay'})).toBeInTheDocument(); }); });