import {mountWithTheme} from 'sentry-test/enzyme'; import {initializeOrg} from 'sentry-test/initializeOrg'; import {openHelpSearchModal} from 'sentry/actionCreators/modal'; import App from 'sentry/views/app'; describe('Docs Search Modal', function () { beforeEach(function () { MockApiClient.clearMockResponses(); MockApiClient.addMockResponse({ url: '/organizations/', body: [TestStubs.Organization({slug: 'billy-org', name: 'billy org'})], }); MockApiClient.addMockResponse({ url: '/organizations/org-slug/projects/', query: 'foo', body: [TestStubs.Project({slug: 'foo-project'})], }); MockApiClient.addMockResponse({ url: '/organizations/org-slug/teams/', query: 'foo', body: [TestStubs.Team({slug: 'foo-team'})], }); MockApiClient.addMockResponse({ url: '/organizations/org-slug/members/', query: 'foo', body: TestStubs.Members(), }); MockApiClient.addMockResponse({ url: '/organizations/org-slug/plugins/?plugins=_all', query: 'foo', body: [], }); MockApiClient.addMockResponse({ url: '/organizations/org-slug/config/integrations/', query: 'foo', body: [], }); MockApiClient.addMockResponse({ url: '/internal/health/', body: { problems: [], }, }); MockApiClient.addMockResponse({ url: '/assistant/', body: [], }); }); it('can open help search modal', async function () { const {routerContext} = initializeOrg(); const wrapper = mountWithTheme( {
placeholder content
}
, routerContext ); // No Modal expect(wrapper.find('Modal')).toHaveLength(0); openHelpSearchModal(); await tick(); await tick(); wrapper.update(); // Should have Modal + input expect(wrapper.find('Modal')).toHaveLength(1); expect(wrapper.find('HelpSearch')).toHaveLength(1); }); });