import {PluginsFixture} from 'sentry-fixture/plugins'; import {initializeOrg} from 'sentry-test/initializeOrg'; import {render, screen, waitFor} from 'sentry-test/reactTestingLibrary'; import ProjectPlugins from 'sentry/views/settings/projectPlugins/projectPlugins'; describe('ProjectPlugins', function () { it('renders', async function () { const {organization, routerProps, project} = initializeOrg(); render( <ProjectPlugins {...routerProps} organization={organization} params={{ orgId: organization.slug, }} project={project} onChange={jest.fn()} loading={false} error={undefined} plugins={PluginsFixture()} /> ); await waitFor(() => expect(screen.queryByTestId('loading-indicator')).not.toBeInTheDocument() ); }); it('has error state when plugins=[]', async function () { const {organization, routerProps, project} = initializeOrg(); render( <ProjectPlugins {...routerProps} organization={organization} params={{ orgId: organization.slug, }} project={project} onChange={jest.fn()} loading={false} error={new Error('An error')} plugins={[]} /> ); expect(await screen.findByText('Oops! Something went wrong')).toBeInTheDocument(); }); });