Skip to content
Snippets Groups Projects
Commit 5245c6e1 authored by Dmitry Gruzd's avatar Dmitry Gruzd
Browse files

Search: Add feature flags for global tabs

parent 079122ca
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -27,11 +27,11 @@
= search_filter_link 'snippet_titles', _("Titles and Descriptions"), search: { snippets: true, group_id: nil, project_id: nil }
- else
= search_filter_link 'projects', _("Projects"), data: { qa_selector: 'projects_tab' }
= render_if_exists 'search/category_code'
= render_if_exists 'search/category_code' if @group || Feature.enabled?(:global_search_code_tab, current_user, type: :ops, default_enabled: true)
= render_if_exists 'search/epics_filter_link'
= search_filter_link 'issues', _("Issues")
= search_filter_link 'merge_requests', _("Merge requests")
= render_if_exists 'search/category_wiki'
= search_filter_link 'issues', _("Issues") if @group || Feature.enabled?(:global_search_issues_tab, current_user, type: :ops, default_enabled: true)
= search_filter_link 'merge_requests', _("Merge requests") if @group || Feature.enabled?(:global_search_merge_requests_tab, current_user, type: :ops, default_enabled: true)
= render_if_exists 'search/category_wiki' if @group || Feature.enabled?(:global_search_wiki_tab, current_user, type: :ops, default_enabled: true)
= render_if_exists 'search/category_elasticsearch'
= search_filter_link 'milestones', _("Milestones")
= users
---
name: global_search_code_tab
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640
rollout_issue_url:
milestone: '14.3'
type: ops
group: group::global search
default_enabled: true
---
name: global_search_commits_tab
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640
rollout_issue_url:
milestone: '14.3'
type: ops
group: group::global search
default_enabled: true
---
name: global_search_issues_tab
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640
rollout_issue_url:
milestone: '14.3'
type: ops
group: group::global search
default_enabled: true
---
name: global_search_merge_requests_tab
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640
rollout_issue_url:
milestone: '14.3'
type: ops
group: group::global search
default_enabled: true
---
name: global_search_wiki_tab
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68640
rollout_issue_url:
milestone: '14.3'
type: ops
group: group::global search
default_enabled: true
- if search_service.show_elasticsearch_tabs?
= search_filter_link 'commits', _("Commits")
= search_filter_link 'commits', _("Commits") if @group || Feature.enabled?(:global_search_commits_tab, current_user, type: :ops, default_enabled: true)
= search_filter_link 'notes', _("Comments")
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'search/_category' do
let_it_be(:group) { create(:group) }
context 'feature flags' do
using RSpec::Parameterized::TableSyntax
before do
stub_ee_application_setting(elasticsearch_search: true, elasticsearch_indexing: true)
end
where(:feature_flag, :tab_name) do
:global_search_code_tab | 'Code'
:global_search_issues_tab | 'Issues'
:global_search_merge_requests_tab | 'Merge requests'
:global_search_wiki_tab | 'Wiki'
:global_search_commits_tab | 'Commits'
end
with_them do
context 'global search' do
it 'shows the tab if FF is enabled' do
stub_feature_flags(feature_flag => true)
render
expect(rendered).to have_selector('.nav-tabs li', text: tab_name)
end
it 'hides the tab if FF is disabled' do
stub_feature_flags(feature_flag => false)
render
expect(rendered).not_to have_selector('.nav-tabs li', text: tab_name)
end
end
context 'group search' do
before do
assign(:group, group)
end
it 'shows the tab even if FF is disabled for group search' do
stub_feature_flags(feature_flag => false)
render
expect(rendered).to have_selector('.nav-tabs li', text: tab_name)
end
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment