import {mountWithTheme} from 'sentry-test/enzyme'; import OrganizationAuthList from 'sentry/views/settings/organizationAuth/organizationAuthList'; describe('OrganizationAuthList', function () { it('renders with no providers', function () { const wrapper = mountWithTheme(); expect(wrapper).toSnapshot(); }); it('renders', function () { const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} /> ); expect(wrapper).toSnapshot(); }); it('renders for members', function () { const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} activeProvider={TestStubs.AuthProviders()[0]} />, TestStubs.routerContext([ { organization: TestStubs.Organization({access: ['org:read']}), }, ]) ); expect(wrapper.find('ProviderItem ActiveIndicator')).toHaveLength(1); }); describe('with 2fa warning', function () { const require2fa = {require2FA: true}; const withSSO = {features: ['sso-basic']}; const withSAML = {features: ['sso-saml2']}; it('renders', function () { const context = TestStubs.routerContext([ {organization: TestStubs.Organization({...require2fa, ...withSSO})}, ]); const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} />, context ); expect(wrapper.find('PanelAlert[type="warning"]').exists()).toBe(true); }); it('renders with saml available', function () { const context = TestStubs.routerContext([ {organization: TestStubs.Organization({...require2fa, ...withSAML})}, ]); const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} />, context ); expect(wrapper.find('PanelAlert[type="warning"]').exists()).toBe(true); }); it('does not render without sso available', function () { const context = TestStubs.routerContext([ {organization: TestStubs.Organization({...require2fa})}, ]); const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} />, context ); expect(wrapper.find('PanelAlert[type="warning"]').exists()).toBe(false); }); it('does not render with sso and require 2fa disabled', function () { const context = TestStubs.routerContext([ {organization: TestStubs.Organization({...withSSO})}, ]); const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} />, context ); expect(wrapper.find('PanelAlert[type="warning"]').exists()).toBe(false); }); it('does not render with saml and require 2fa disabled', function () { const context = TestStubs.routerContext([ {organization: TestStubs.Organization({...withSAML})}, ]); const wrapper = mountWithTheme( {}} providerList={TestStubs.AuthProviders()} />, context ); expect(wrapper.find('PanelAlert[type="warning"]').exists()).toBe(false); }); }); });