import {render, screen} from 'sentry-test/reactTestingLibrary'; import ProcessingIssueList from 'sentry/components/stream/processingIssueList'; describe('ProcessingIssueList', function () { let projects, organization, fetchIssueRequest; beforeEach(function () { fetchIssueRequest = MockApiClient.addMockResponse({ url: '/organizations/org-slug/processingissues/', method: 'GET', body: [ { project: 'test-project', numIssues: 1, hasIssues: true, lastSeen: '2019-01-16T15:39:11.081Z', }, { project: 'other-project', numIssues: 1, hasIssues: true, lastSeen: '2019-01-16T15:39:11.081Z', }, ], }); organization = TestStubs.Organization(); projects = [1, 2]; }); describe('componentDidMount', function () { it('fetches issues', async function () { render(); await screen.findAllByText('Show details'); expect(fetchIssueRequest).toHaveBeenCalled(); }); }); describe('render', function () { it('renders multiple issues', async function () { render(); const items = await screen.findAllByText(/There is 1 issue blocking/); expect(items).toHaveLength(2); }); it('forwards the showProject prop', async function () { render( ); const projectText = await screen.findByText(/test-project/); expect(projectText).toBeInTheDocument(); const otherProject = screen.getByText(/other-project/); expect(otherProject).toBeInTheDocument(); }); }); });