diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-15 18:06:24 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-15 18:06:24 +0000 |
commit | eca3cd3a9e7d9ea680086cad8150050ec8cdef3f (patch) | |
tree | c3d262e0d8e721fc138c2d617f501fb09876f1b6 /spec/views/profiles | |
parent | 6e81d7f6283fae1b22f66b9d9b133243921cbd9e (diff) | |
download | gitlab-ce-eca3cd3a9e7d9ea680086cad8150050ec8cdef3f.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/views/profiles')
-rw-r--r-- | spec/views/profiles/preferences/show.html.haml_spec.rb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/spec/views/profiles/preferences/show.html.haml_spec.rb b/spec/views/profiles/preferences/show.html.haml_spec.rb new file mode 100644 index 00000000000..52933c42621 --- /dev/null +++ b/spec/views/profiles/preferences/show.html.haml_spec.rb @@ -0,0 +1,72 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe 'profiles/preferences/show' do + using RSpec::Parameterized::TableSyntax + + let_it_be(:user) { build(:user) } + + before do + assign(:user, user) + allow(controller).to receive(:current_user).and_return(user) + end + + context 'sourcegraph' do + def have_sourcegraph_field(*args) + have_field('user_sourcegraph_enabled', *args) + end + + def have_integrations_section + have_css('.profile-settings-sidebar', { text: 'Integrations' }) + end + + before do + # Can't use stub_feature_flags because we use Feature.get to check if conditinally applied + Feature.get(:sourcegraph).enable sourcegraph_feature + stub_application_setting(sourcegraph_enabled: sourcegraph_enabled) + end + + context 'when not fully enabled' do + where(:feature, :admin_enabled) do + false | false + false | true + true | false + end + + with_them do + let(:sourcegraph_feature) { feature } + let(:sourcegraph_enabled) { admin_enabled } + + before do + render + end + + it 'does not display sourcegraph field' do + expect(rendered).not_to have_sourcegraph_field + end + + it 'does not display integrations settings' do + expect(rendered).not_to have_integrations_section + end + end + end + + context 'when fully enabled' do + let(:sourcegraph_feature) { true } + let(:sourcegraph_enabled) { true } + + before do + render + end + + it 'displays the sourcegraph field' do + expect(rendered).to have_sourcegraph_field + end + + it 'displays the integrations section' do + expect(rendered).to have_integrations_section + end + end + end +end |