diff options
Diffstat (limited to 'spec/helpers/search_helper_spec.rb')
-rw-r--r-- | spec/helpers/search_helper_spec.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/helpers/search_helper_spec.rb b/spec/helpers/search_helper_spec.rb index 9e9f87b3407..561cd085ad1 100644 --- a/spec/helpers/search_helper_spec.rb +++ b/spec/helpers/search_helper_spec.rb @@ -271,4 +271,50 @@ describe SearchHelper do expect(link).to have_css('li[data-foo="bar"]') end end + + describe '#show_user_search_tab?' do + subject { show_user_search_tab? } + + context 'when users_search feature is disabled' do + before do + stub_feature_flags(users_search: false) + end + + it { is_expected.to eq(false) } + end + + context 'when project search' do + before do + @project = :some_project + + expect(self).to receive(:project_search_tabs?) + .with(:members) + .and_return(:value) + end + + it 'delegates to project_search_tabs?' do + expect(subject).to eq(:value) + end + end + + context 'when not project search' do + context 'when current_user can read_users_list' do + before do + allow(self).to receive(:current_user).and_return(:the_current_user) + allow(self).to receive(:can?).with(:the_current_user, :read_users_list).and_return(true) + end + + it { is_expected.to eq(true) } + end + + context 'when current_user cannot read_users_list' do + before do + allow(self).to receive(:current_user).and_return(:the_current_user) + allow(self).to receive(:can?).with(:the_current_user, :read_users_list).and_return(false) + end + + it { is_expected.to eq(false) } + end + end + end end |