From 727a8c3750376fa63647d6267b67623865720305 Mon Sep 17 00:00:00 2001 From: Arturo Herrero Date: Wed, 22 Jan 2025 09:57:41 +0100 Subject: [PATCH] Update advance search routing to search EE: true --- .../layout/empty_line_after_magic_comment.yml | 1 - .rubocop_todo/rspec/instance_variable.yml | 1 - .../components/index_entities_list.vue | 0 .../components/index_entities_selector.vue | 0 .../components/indexing_restrictions.vue | 0 .../{advanced_search => search}/constants.js | 0 .../init_indexing_restrictions.js | 0 .../{advanced_search => search}/index.js | 2 +- .../admin/elasticsearch_controller.rb | 2 +- .../admin/application_settings_controller.rb | 24 ++++++------ .../_elasticsearch_form.html.haml | 2 +- ...nced_search.html.haml => search.html.haml} | 4 +- .../dashboard/_elastic_and_geo.html.haml | 2 +- ee/config/routes/admin.rb | 3 +- .../admin/menus/admin_settings_menu.rb | 16 ++++---- .../application_settings_controller_spec.rb | 38 +++++++++---------- .../admin/elasticsearch_controller_spec.rb | 12 +++--- ee/spec/features/admin/admin_settings_spec.rb | 10 ++--- .../components/index_entities_list_spec.js | 2 +- .../index_entities_selector_spec.js | 4 +- .../components/indexing_restrictions_spec.js | 6 +-- .../{advanced_search => search}/mock_data.js | 0 .../ee/application_settings_helper_spec.rb | 4 +- .../admin/menus/admin_settings_menu_spec.rb | 20 ++++++++++ ee/spec/routing/admin_routing_spec.rb | 11 ++++-- qa/qa/ee/page/admin/menu.rb | 2 +- spec/support/rspec_order_todo.yml | 1 - 27 files changed, 94 insertions(+), 73 deletions(-) rename ee/app/assets/javascripts/admin/application_settings/{advanced_search => search}/components/index_entities_list.vue (100%) rename ee/app/assets/javascripts/admin/application_settings/{advanced_search => search}/components/index_entities_selector.vue (100%) rename ee/app/assets/javascripts/admin/application_settings/{advanced_search => search}/components/indexing_restrictions.vue (100%) rename ee/app/assets/javascripts/admin/application_settings/{advanced_search => search}/constants.js (100%) rename ee/app/assets/javascripts/admin/application_settings/{advanced_search => search}/init_indexing_restrictions.js (100%) rename ee/app/assets/javascripts/pages/admin/application_settings/{advanced_search => search}/index.js (89%) rename ee/app/views/admin/application_settings/{advanced_search.html.haml => search.html.haml} (98%) rename ee/spec/frontend/admin/application_settings/{advanced_search => search}/components/index_entities_list_spec.js (90%) rename ee/spec/frontend/admin/application_settings/{advanced_search => search}/components/index_entities_selector_spec.js (97%) rename ee/spec/frontend/admin/application_settings/{advanced_search => search}/components/indexing_restrictions_spec.js (93%) rename ee/spec/frontend/admin/application_settings/{advanced_search => search}/mock_data.js (100%) diff --git a/.rubocop_todo/layout/empty_line_after_magic_comment.yml b/.rubocop_todo/layout/empty_line_after_magic_comment.yml index 2d8d16a0e9fb4e..7b4bdcf7b68fc1 100644 --- a/.rubocop_todo/layout/empty_line_after_magic_comment.yml +++ b/.rubocop_todo/layout/empty_line_after_magic_comment.yml @@ -281,7 +281,6 @@ Layout/EmptyLineAfterMagicComment: - 'ee/spec/requests/ee/application_controller_spec.rb' - 'ee/spec/requests/groups/protected_environments_controller_spec.rb' - 'ee/spec/requests/groups/roadmap_controller_spec.rb' - - 'ee/spec/routing/admin_routing_spec.rb' - 'ee/spec/routing/user_routing_spec.rb' - 'ee/spec/serializers/ee/blob_entity_spec.rb' - 'ee/spec/serializers/ee/build_details_entity_spec.rb' diff --git a/.rubocop_todo/rspec/instance_variable.yml b/.rubocop_todo/rspec/instance_variable.yml index 751c1803d12716..4433e219363ace 100644 --- a/.rubocop_todo/rspec/instance_variable.yml +++ b/.rubocop_todo/rspec/instance_variable.yml @@ -1,7 +1,6 @@ --- RSpec/InstanceVariable: Exclude: - - 'ee/spec/controllers/admin/application_settings_controller_spec.rb' - 'ee/spec/controllers/admin/geo/settings_controller_spec.rb' - 'ee/spec/controllers/ee/sessions_controller_spec.rb' - 'ee/spec/controllers/groups/groups_controller_spec.rb' diff --git a/ee/app/assets/javascripts/admin/application_settings/advanced_search/components/index_entities_list.vue b/ee/app/assets/javascripts/admin/application_settings/search/components/index_entities_list.vue similarity index 100% rename from ee/app/assets/javascripts/admin/application_settings/advanced_search/components/index_entities_list.vue rename to ee/app/assets/javascripts/admin/application_settings/search/components/index_entities_list.vue diff --git a/ee/app/assets/javascripts/admin/application_settings/advanced_search/components/index_entities_selector.vue b/ee/app/assets/javascripts/admin/application_settings/search/components/index_entities_selector.vue similarity index 100% rename from ee/app/assets/javascripts/admin/application_settings/advanced_search/components/index_entities_selector.vue rename to ee/app/assets/javascripts/admin/application_settings/search/components/index_entities_selector.vue diff --git a/ee/app/assets/javascripts/admin/application_settings/advanced_search/components/indexing_restrictions.vue b/ee/app/assets/javascripts/admin/application_settings/search/components/indexing_restrictions.vue similarity index 100% rename from ee/app/assets/javascripts/admin/application_settings/advanced_search/components/indexing_restrictions.vue rename to ee/app/assets/javascripts/admin/application_settings/search/components/indexing_restrictions.vue diff --git a/ee/app/assets/javascripts/admin/application_settings/advanced_search/constants.js b/ee/app/assets/javascripts/admin/application_settings/search/constants.js similarity index 100% rename from ee/app/assets/javascripts/admin/application_settings/advanced_search/constants.js rename to ee/app/assets/javascripts/admin/application_settings/search/constants.js diff --git a/ee/app/assets/javascripts/admin/application_settings/advanced_search/init_indexing_restrictions.js b/ee/app/assets/javascripts/admin/application_settings/search/init_indexing_restrictions.js similarity index 100% rename from ee/app/assets/javascripts/admin/application_settings/advanced_search/init_indexing_restrictions.js rename to ee/app/assets/javascripts/admin/application_settings/search/init_indexing_restrictions.js diff --git a/ee/app/assets/javascripts/pages/admin/application_settings/advanced_search/index.js b/ee/app/assets/javascripts/pages/admin/application_settings/search/index.js similarity index 89% rename from ee/app/assets/javascripts/pages/admin/application_settings/advanced_search/index.js rename to ee/app/assets/javascripts/pages/admin/application_settings/search/index.js index 6a16822f830063..93ec2a1cdbd0ff 100644 --- a/ee/app/assets/javascripts/pages/admin/application_settings/advanced_search/index.js +++ b/ee/app/assets/javascripts/pages/admin/application_settings/search/index.js @@ -2,7 +2,7 @@ import $ from 'jquery'; import { initNamespacesIndexingRestrictions, initProjectsIndexingRestrictions, -} from 'ee/admin/application_settings/advanced_search/init_indexing_restrictions'; +} from 'ee/admin/application_settings/search/init_indexing_restrictions'; const onLimitCheckboxChange = (checked, $limitByNamespaces, $limitByProjects) => { $limitByNamespaces.toggleClass('hidden', !checked); diff --git a/ee/app/controllers/admin/elasticsearch_controller.rb b/ee/app/controllers/admin/elasticsearch_controller.rb index 96815f5e8868e0..83bb2f29eac427 100644 --- a/ee/app/controllers/admin/elasticsearch_controller.rb +++ b/ee/app/controllers/admin/elasticsearch_controller.rb @@ -61,7 +61,7 @@ def retry_migration private def redirect_path(anchor: 'js-elasticsearch-settings') - advanced_search_admin_application_settings_path(anchor: anchor) + search_admin_application_settings_path(anchor: anchor) end def trigger_reindexing_params diff --git a/ee/app/controllers/ee/admin/application_settings_controller.rb b/ee/app/controllers/ee/admin/application_settings_controller.rb index 25a368ae575bb2..a1bdf102cca107 100644 --- a/ee/app/controllers/ee/admin/application_settings_controller.rb +++ b/ee/app/controllers/ee/admin/application_settings_controller.rb @@ -12,29 +12,29 @@ module ApplicationSettingsController prepended do include MicrosoftApplicationActions - before_action :elasticsearch_reindexing_task, only: [:advanced_search] - before_action :elasticsearch_reindexing_state, only: [:advanced_search] - before_action :elasticsearch_index_settings, only: [:advanced_search] - before_action :elasticsearch_warn_if_not_using_aliases, only: [:advanced_search] - before_action :elasticsearch_warn_if_obsolete_migrations, only: [:advanced_search] - before_action :elasticsearch_pending_obsolete_migrations, only: [:advanced_search] - before_action :search_error_if_version_incompatible, only: [:advanced_search] - before_action :search_outdated_code_analyzer_detected, only: [:advanced_search] + before_action :elasticsearch_reindexing_task, only: [:search] + before_action :elasticsearch_reindexing_state, only: [:search] + before_action :elasticsearch_index_settings, only: [:search] + before_action :elasticsearch_warn_if_not_using_aliases, only: [:search] + before_action :elasticsearch_warn_if_obsolete_migrations, only: [:search] + before_action :elasticsearch_pending_obsolete_migrations, only: [:search] + before_action :search_error_if_version_incompatible, only: [:search] + before_action :search_outdated_code_analyzer_detected, only: [:search] before_action :new_license, only: [:general] before_action :scim_token, only: [:general] before_action :find_or_initialize_microsoft_application, only: [:general] before_action :verify_namespace_plan_check_enabled, only: [:namespace_storage] - before_action :indexing_status, only: [:advanced_search] + before_action :indexing_status, only: [:search] before_action :push_frontend_license_features, only: [:general] feature_category :plan_provisioning, [:seat_link_payload] feature_category :source_code_management, [:templates] - feature_category :global_search, [:advanced_search] + feature_category :global_search, [:search] feature_category :software_composition_analysis, [:security_and_compliance] feature_category :consumables_cost_management, [:namespace_storage] feature_category :product_analytics, [:analytics] - urgency :low, [:advanced_search, :seat_link_payload] + urgency :low, [:search, :seat_link_payload] def elasticsearch_reindexing_task @last_elasticsearch_reindexing_task = ::Search::Elastic::ReindexingTask.last @@ -109,7 +109,7 @@ def indexing_status end end - EE_VALID_SETTING_PANELS = %w[advanced_search templates security_and_compliance namespace_storage].freeze + EE_VALID_SETTING_PANELS = %w[search templates security_and_compliance namespace_storage].freeze EE_VALID_SETTING_PANELS.each do |action| define_method(action) { perform_update if submitted? } diff --git a/ee/app/views/admin/application_settings/_elasticsearch_form.html.haml b/ee/app/views/admin/application_settings/_elasticsearch_form.html.haml index 566996d6cafc14..05bed3d299a2cd 100644 --- a/ee/app/views/admin/application_settings/_elasticsearch_form.html.haml +++ b/ee/app/views/admin/application_settings/_elasticsearch_form.html.haml @@ -13,7 +13,7 @@ - c.with_description do = _('Configure settings for Advanced Search with Elasticsearch.') - c.with_body do - = gitlab_ui_form_for @application_setting, url: advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-settings'), html: { class: 'fieldset-form' } do |f| + = gitlab_ui_form_for @application_setting, url: search_admin_application_settings_path(anchor: 'js-elasticsearch-settings'), html: { class: 'fieldset-form' } do |f| = form_errors(@application_setting) %fieldset diff --git a/ee/app/views/admin/application_settings/advanced_search.html.haml b/ee/app/views/admin/application_settings/search.html.haml similarity index 98% rename from ee/app/views/admin/application_settings/advanced_search.html.haml rename to ee/app/views/admin/application_settings/search.html.haml index 5e14d723761084..c23e51a0e747db 100644 --- a/ee/app/views/admin/application_settings/advanced_search.html.haml +++ b/ee/app/views/admin/application_settings/search.html.haml @@ -1,5 +1,5 @@ -- breadcrumb_title _("Advanced Search") -- page_title _("Advanced Search") +- breadcrumb_title _("Search") +- page_title _("Search") - add_page_specific_style 'page_bundles/settings' - add_page_specific_style 'page_bundles/search' - @force_desktop_expanded_sidebar = true diff --git a/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml b/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml index bfb0988e4aaa51..9d4ea1a6d7e246 100644 --- a/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml +++ b/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml @@ -1,5 +1,5 @@ = feature_entry(_('Advanced Search'), - href: advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-settings'), + href: search_admin_application_settings_path(anchor: 'js-elasticsearch-settings'), enabled: Gitlab::CurrentSettings.elasticsearch_search?) = feature_entry(_('Geo'), diff --git a/ee/config/routes/admin.rb b/ee/config/routes/admin.rb index a29abd980d647b..e99afd2e07fa40 100644 --- a/ee/config/routes/admin.rb +++ b/ee/config/routes/admin.rb @@ -69,7 +69,8 @@ # using `only: []` to keep duplicate routes from being created resource :application_settings, only: [] do get :seat_link_payload - match :templates, :advanced_search, :security_and_compliance, :namespace_storage, :analytics, via: [:get, :patch] + match :templates, :search, :security_and_compliance, :namespace_storage, :analytics, via: [:get, :patch] + get :advanced_search, to: redirect('admin/application_settings/search') get :geo, to: "geo/settings#show" put :update_microsoft_application diff --git a/ee/lib/ee/sidebars/admin/menus/admin_settings_menu.rb b/ee/lib/ee/sidebars/admin/menus/admin_settings_menu.rb index 62dbbe5fe9ee0b..3e438cc1354bcb 100644 --- a/ee/lib/ee/sidebars/admin/menus/admin_settings_menu.rb +++ b/ee/lib/ee/sidebars/admin/menus/admin_settings_menu.rb @@ -14,7 +14,7 @@ def configure_menu_items insert_item_after(:general_settings, service_accounts_menu_item) insert_item_after(:service_accounts, roles_and_permissions_menu_item) - insert_item_after(:roles_and_permissions, advanced_search_menu_item) + insert_item_after(:roles_and_permissions, search_menu_item) insert_item_after(:admin_reporting, templates_menu_item) insert_item_after(:admin_ci_cd, security_and_compliance_menu_item) insert_item_after(:security_and_compliance_menu_item, analytics_menu_item) @@ -55,17 +55,15 @@ def service_accounts_available? !gitlab_com_subscription? end - def advanced_search_menu_item - unless ::License.feature_available?(:elastic_search) - return ::Sidebars::NilMenuItem.new(item_id: :advanced_search) - end + def search_menu_item + return ::Sidebars::NilMenuItem.new(item_id: :search) unless ::License.feature_available?(:elastic_search) ::Sidebars::MenuItem.new( title: _('Search'), - link: advanced_search_admin_application_settings_path, - active_routes: { path: 'admin/application_settings#advanced_search' }, - item_id: :advanced_search, - container_html_options: { testid: 'admin-settings-advanced-search-link' } + link: search_admin_application_settings_path, + active_routes: { path: 'admin/application_settings#search' }, + item_id: :search, + container_html_options: { testid: 'admin-settings-search-link' } ) end diff --git a/ee/spec/controllers/admin/application_settings_controller_spec.rb b/ee/spec/controllers/admin/application_settings_controller_spec.rb index 8eb758df680496..30590c766b3924 100644 --- a/ee/spec/controllers/admin/application_settings_controller_spec.rb +++ b/ee/spec/controllers/admin/application_settings_controller_spec.rb @@ -478,10 +478,10 @@ end end - describe '#advanced_search', feature_category: :global_search do + describe '#search', feature_category: :global_search do before do sign_in(admin) - @request.env['HTTP_REFERER'] = advanced_search_admin_application_settings_path + request.env['HTTP_REFERER'] = search_admin_application_settings_path end context 'with check search version is compatability' do @@ -494,14 +494,14 @@ it 'does not alert when version is compatible' do allow(helper).to receive(:supported_version?).and_return(true) - get :advanced_search + get :search expect(assigns[:search_error_if_version_incompatible]).to be_falsey end it 'alerts when version is incompatible' do allow(::Gitlab::Elastic::Helper.default).to receive(:supported_version?).and_return(false) - get :advanced_search + get :search expect(assigns[:search_error_if_version_incompatible]).to be_truthy end end @@ -516,26 +516,26 @@ it 'warns when NOT using index aliases' do allow(helper).to receive(:alias_missing?).and_return true - get :advanced_search + get :search expect(assigns[:elasticsearch_warn_if_not_using_aliases]).to be_truthy end it 'does NOT warn when using index aliases' do allow(helper).to receive(:alias_missing?).and_return false - get :advanced_search + get :search expect(assigns[:elasticsearch_warn_if_not_using_aliases]).to be_falsy end it 'does NOT blow up if elasticsearch is unreachable' do allow(helper).to receive(:alias_missing?).and_raise(::Elasticsearch::Transport::Transport::ServerError, 'boom') - get :advanced_search + get :search expect(assigns[:elasticsearch_warn_if_not_using_aliases]).to be_falsy expect(response).to have_gitlab_http_status(:ok) end it 'does NOT warn when default index does not exist' do allow(helper).to receive_messages(alias_missing?: true, index_exists?: false) - get :advanced_search + get :search expect(assigns[:elasticsearch_warn_if_not_using_aliases]).to be_falsey end end @@ -549,25 +549,25 @@ it 'warns when outdated code mappings are used' do allow(helper).to receive(:get_meta).and_return('created_by' => '15.4.9') - get :advanced_search + get :search expect(assigns[:search_outdated_code_analyzer_detected]).to be_truthy end it 'warns when meta field is not present' do allow(helper).to receive(:get_meta).and_return(nil) - get :advanced_search + get :search expect(assigns[:search_outdated_code_analyzer_detected]).to be_truthy end it 'does NOT warn when using new mappings' do allow(helper).to receive(:get_meta).and_return('created_by' => '15.5.0') - get :advanced_search + get :search expect(assigns[:search_outdated_code_analyzer_detected]).to be_falsey end it 'does NOT blow up if elasticsearch is unreachable' do allow(helper).to receive(:get_meta).and_raise(::Elasticsearch::Transport::Transport::ServerError, 'boom') - get :advanced_search + get :search expect(assigns[:search_outdated_code_analyzer_detected]).to be_falsey expect(response).to have_gitlab_http_status(:ok) end @@ -595,7 +595,7 @@ allow(migration_1).to receive(:obsolete?).and_return(true) allow(migration_2).to receive(:obsolete?).and_return(false) - get :advanced_search + get :search expect(assigns[:elasticsearch_pending_obsolete_migrations]).to eq([migration_1]) expect(assigns[:elasticsearch_warn_if_obsolete_migrations]).to be_truthy end @@ -604,7 +604,7 @@ allow(migration_1).to receive(:obsolete?).and_return(false) allow(migration_2).to receive(:obsolete?).and_return(false) - get :advanced_search + get :search expect(assigns[:elasticsearch_pending_obsolete_migrations]).to eq([]) end end @@ -615,7 +615,7 @@ end it 'does not alert' do - get :advanced_search + get :search expect(assigns[:elasticsearch_warn_if_obsolete_migrations]).to be_falsey end end @@ -633,9 +633,9 @@ elasticsearch_search: true } - patch :advanced_search, params: { application_setting: settings } + patch :search, params: { application_setting: settings } - expect(response).to redirect_to(advanced_search_admin_application_settings_path) + expect(response).to redirect_to(search_admin_application_settings_path) settings.except(:elasticsearch_url).each do |setting, value| expect(ApplicationSetting.current.public_send(setting)).to eq(value) end @@ -649,7 +649,7 @@ let!(:task) { create(:elastic_reindexing_task) } it 'assigns last elasticsearch reindexing task' do - get :advanced_search + get :search expect(assigns(:last_elasticsearch_reindexing_task)).to eq(task) expect(response.body).to have_selector('[role="alert"]', text: /Status: starting/) @@ -665,7 +665,7 @@ end it 'does not update the elasticsearch_aws_secret_access_key setting' do - expect { patch :advanced_search, params: { application_setting: settings } } + expect { patch :search, params: { application_setting: settings } } .not_to change { ApplicationSetting.current.reload.elasticsearch_aws_secret_access_key } end end diff --git a/ee/spec/controllers/admin/elasticsearch_controller_spec.rb b/ee/spec/controllers/admin/elasticsearch_controller_spec.rb index c03e10961363ba..e2ddc2fcc5f102 100644 --- a/ee/spec/controllers/admin/elasticsearch_controller_spec.rb +++ b/ee/spec/controllers/admin/elasticsearch_controller_spec.rb @@ -16,7 +16,7 @@ post :enqueue_index - expected_redirect = advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-settings') + expected_redirect = search_admin_application_settings_path(anchor: 'js-elasticsearch-settings') expect(response).to redirect_to expected_redirect end end @@ -38,7 +38,7 @@ expect(controller).to set_flash[:notice].to include('reindexing triggered') - expected_redirect = advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') + expected_redirect = search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') expect(response).to redirect_to expected_redirect end @@ -52,7 +52,7 @@ expect(controller).to set_flash[:warning].to include('already in progress') - expected_redirect = advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') + expected_redirect = search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') expect(response).to redirect_to expected_redirect end @@ -64,7 +64,7 @@ expect(controller).to set_flash[:alert].to include('Elasticsearch reindexing was not started') - expected_redirect = advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') + expected_redirect = search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') expect(response).to redirect_to expected_redirect end end @@ -82,7 +82,7 @@ expect(task.reload.delete_original_index_at).to be_nil expect(controller).to set_flash[:notice].to include('deletion is canceled') - expected_redirect = advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') + expected_redirect = search_admin_application_settings_path(anchor: 'js-elasticsearch-reindexing') expect(response).to redirect_to expected_redirect end end @@ -108,7 +108,7 @@ expect(Elastic::DataMigrationService.halted_migrations?).to be_falsey expect(controller).to set_flash[:notice].to include('Migration has been scheduled to be retried') - expected_redirect = advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-settings') + expected_redirect = search_admin_application_settings_path(anchor: 'js-elasticsearch-settings') expect(response).to redirect_to expected_redirect end end diff --git a/ee/spec/features/admin/admin_settings_spec.rb b/ee/spec/features/admin/admin_settings_spec.rb index 147ffc22d1ee65..fa2ca02ad50004 100644 --- a/ee/spec/features/admin/admin_settings_spec.rb +++ b/ee/spec/features/admin/admin_settings_spec.rb @@ -93,7 +93,7 @@ end it 'changes elasticsearch settings' do - visit advanced_search_admin_application_settings_path + visit search_admin_application_settings_path within_testid('elasticsearch-settings') do check 'Elasticsearch indexing' @@ -149,7 +149,7 @@ project = create(:project) namespace = create(:namespace) - visit advanced_search_admin_application_settings_path + visit search_admin_application_settings_path within_testid('elasticsearch-settings') do expect(page).not_to have_content('Namespaces to index') @@ -187,7 +187,7 @@ expect(ElasticsearchIndexedNamespace.count).to be > 0 expect(ElasticsearchIndexedProject.count).to be > 0 - visit advanced_search_admin_application_settings_path + visit search_admin_application_settings_path within_testid('elasticsearch-settings') do expect(page).to have_content('Namespaces to index') @@ -210,7 +210,7 @@ end it 'zero-downtime reindexing shows popup', :js do - visit advanced_search_admin_application_settings_path + visit search_admin_application_settings_path within_testid('elasticsearch-reindexing-settings') do expect(page).to have_content 'Trigger cluster reindexing' @@ -224,7 +224,7 @@ let(:elastic_search_license) { false } it 'cannot access the page' do - visit advanced_search_admin_application_settings_path + visit search_admin_application_settings_path expect(page).not_to have_content("Advanced Search with Elasticsearch") end diff --git a/ee/spec/frontend/admin/application_settings/advanced_search/components/index_entities_list_spec.js b/ee/spec/frontend/admin/application_settings/search/components/index_entities_list_spec.js similarity index 90% rename from ee/spec/frontend/admin/application_settings/advanced_search/components/index_entities_list_spec.js rename to ee/spec/frontend/admin/application_settings/search/components/index_entities_list_spec.js index 48d14f990ced99..5c73399f2a1d79 100644 --- a/ee/spec/frontend/admin/application_settings/advanced_search/components/index_entities_list_spec.js +++ b/ee/spec/frontend/admin/application_settings/search/components/index_entities_list_spec.js @@ -1,6 +1,6 @@ import { GlButton } from '@gitlab/ui'; import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; -import IndexEntitiesList from 'ee/admin/application_settings/advanced_search/components/index_entities_list.vue'; +import IndexEntitiesList from 'ee/admin/application_settings/search/components/index_entities_list.vue'; import { entities } from '../mock_data'; describe('IndexEntitiesList', () => { diff --git a/ee/spec/frontend/admin/application_settings/advanced_search/components/index_entities_selector_spec.js b/ee/spec/frontend/admin/application_settings/search/components/index_entities_selector_spec.js similarity index 97% rename from ee/spec/frontend/admin/application_settings/advanced_search/components/index_entities_selector_spec.js rename to ee/spec/frontend/admin/application_settings/search/components/index_entities_selector_spec.js index 26b98d2e85a161..c65e4b79daa1c6 100644 --- a/ee/spec/frontend/admin/application_settings/advanced_search/components/index_entities_selector_spec.js +++ b/ee/spec/frontend/admin/application_settings/search/components/index_entities_selector_spec.js @@ -3,12 +3,12 @@ import MockAdapter from 'axios-mock-adapter'; import { GlAlert, GlCollapsibleListbox } from '@gitlab/ui'; import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; import waitForPromises from 'helpers/wait_for_promises'; -import IndexEntitiesSelector from 'ee/admin/application_settings/advanced_search/components/index_entities_selector.vue'; +import IndexEntitiesSelector from 'ee/admin/application_settings/search/components/index_entities_selector.vue'; import { NO_RESULTS_TEXT, SEARCH_QUERY_TOO_SHORT, ENTITIES_FETCH_ERROR, -} from 'ee/admin/application_settings/advanced_search/constants'; +} from 'ee/admin/application_settings/search/constants'; import axios from '~/lib/utils/axios_utils'; import { HTTP_STATUS_INTERNAL_SERVER_ERROR, HTTP_STATUS_OK } from '~/lib/utils/http_status'; import { entities, projectsMock } from '../mock_data'; diff --git a/ee/spec/frontend/admin/application_settings/advanced_search/components/indexing_restrictions_spec.js b/ee/spec/frontend/admin/application_settings/search/components/indexing_restrictions_spec.js similarity index 93% rename from ee/spec/frontend/admin/application_settings/advanced_search/components/indexing_restrictions_spec.js rename to ee/spec/frontend/admin/application_settings/search/components/indexing_restrictions_spec.js index d8394102297dae..564726b6041612 100644 --- a/ee/spec/frontend/admin/application_settings/advanced_search/components/indexing_restrictions_spec.js +++ b/ee/spec/frontend/admin/application_settings/search/components/indexing_restrictions_spec.js @@ -1,7 +1,7 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; -import IndexingRestrictions from 'ee/admin/application_settings/advanced_search/components/indexing_restrictions.vue'; -import IndexEntitiesSelector from 'ee/admin/application_settings/advanced_search/components/index_entities_selector.vue'; -import IndexEntitiesList from 'ee/admin/application_settings/advanced_search/components/index_entities_list.vue'; +import IndexingRestrictions from 'ee/admin/application_settings/search/components/indexing_restrictions.vue'; +import IndexEntitiesSelector from 'ee/admin/application_settings/search/components/index_entities_selector.vue'; +import IndexEntitiesList from 'ee/admin/application_settings/search/components/index_entities_list.vue'; import { entities } from '../mock_data'; describe('IndexingRestrictions', () => { diff --git a/ee/spec/frontend/admin/application_settings/advanced_search/mock_data.js b/ee/spec/frontend/admin/application_settings/search/mock_data.js similarity index 100% rename from ee/spec/frontend/admin/application_settings/advanced_search/mock_data.js rename to ee/spec/frontend/admin/application_settings/search/mock_data.js diff --git a/ee/spec/helpers/ee/application_settings_helper_spec.rb b/ee/spec/helpers/ee/application_settings_helper_spec.rb index ac82be01ecfd1f..97a2a1ec6e0033 100644 --- a/ee/spec/helpers/ee/application_settings_helper_spec.rb +++ b/ee/spec/helpers/ee/application_settings_helper_spec.rb @@ -244,7 +244,7 @@ end it 'returns correctly checked checkboxes' do - helper.gitlab_ui_form_for(application_setting, url: advanced_search_admin_application_settings_path) do |form| + helper.gitlab_ui_form_for(application_setting, url: search_admin_application_settings_path) do |form| result = helper.zoekt_settings_checkboxes(form) expect(result[0]).to have_checked_field("Delete offline nodes automatically after #{::Search::Zoekt::Node::LOST_DURATION_THRESHOLD.inspect}", with: 1) expect(result[1]).not_to have_checked_field('Index all the namespaces', with: 1) @@ -264,7 +264,7 @@ end it 'returns correct inputs' do - helper.gitlab_ui_form_for(application_setting, url: advanced_search_admin_application_settings_path) do |form| + helper.gitlab_ui_form_for(application_setting, url: search_admin_application_settings_path) do |form| result = helper.zoekt_settings_inputs(form) expect(result[0]).to have_selector('label', text: 'Indexing CPU to tasks multiplier') expect(result[1]).to have_selector('input[type="number"][name="application_setting[zoekt_cpu_to_tasks_ratio]"][value="1.5"]') diff --git a/ee/spec/lib/ee/sidebars/admin/menus/admin_settings_menu_spec.rb b/ee/spec/lib/ee/sidebars/admin/menus/admin_settings_menu_spec.rb index ae90f6070a80f0..a6465ea33a1e80 100644 --- a/ee/spec/lib/ee/sidebars/admin/menus/admin_settings_menu_spec.rb +++ b/ee/spec/lib/ee/sidebars/admin/menus/admin_settings_menu_spec.rb @@ -75,5 +75,25 @@ end end end + + describe 'Search', feature_category: :global_search do + let(:item_id) { :search } + + context 'when elastic_search feature is not licensed' do + before do + stub_licensed_features(elastic_search: false) + end + + it { is_expected.not_to be_present } + end + + context 'when elastic_search feature is licensed' do + before do + stub_licensed_features(elastic_search: true) + end + + it { is_expected.to be_present } + end + end end end diff --git a/ee/spec/routing/admin_routing_spec.rb b/ee/spec/routing/admin_routing_spec.rb index dbf6108ac810c6..23663abecf0524 100644 --- a/ee/spec/routing/admin_routing_spec.rb +++ b/ee/spec/routing/admin_routing_spec.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'spec_helper' RSpec.describe 'EE-specific admin routing' do @@ -68,9 +69,13 @@ expect(patch('/admin/application_settings/templates')).to route_to('admin/application_settings#templates') end - it 'redirects /advanced_search to to #advanced_search' do - expect(get('/admin/application_settings/advanced_search')).to route_to('admin/application_settings#advanced_search') - expect(patch('/admin/application_settings/advanced_search')).to route_to('admin/application_settings#advanced_search') + it 'redirects /advanced_search to #search' do + expect(get('/admin/application_settings/search')).to route_to('admin/application_settings#search') + end + + it 'redirects /search to #search' do + expect(get('/admin/application_settings/search')).to route_to('admin/application_settings#search') + expect(patch('/admin/application_settings/search')).to route_to('admin/application_settings#search') end end diff --git a/qa/qa/ee/page/admin/menu.rb b/qa/qa/ee/page/admin/menu.rb index d1e5edca5efc04..4837c08ea5f2a9 100644 --- a/qa/qa/ee/page/admin/menu.rb +++ b/qa/qa/ee/page/admin/menu.rb @@ -15,7 +15,7 @@ def self.included(base) base.class_eval do view 'ee/lib/ee/sidebars/admin/menus/admin_settings_menu.rb' do - element 'admin-settings-advanced-search-link' + element 'admin-settings-search-link' element 'admin-settings-templates-link' element 'admin-security-and-compliance-link' end diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index ba9e66b0d173dc..f16976682b7fb7 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -647,7 +647,6 @@ - './ee/spec/helpers/container_registry/container_registry_helper_spec.rb' - './ee/spec/helpers/ee/access_tokens_helper_spec.rb' - './ee/spec/helpers/ee/admin/identities_helper_spec.rb' -- './ee/spec/helpers/ee/application_settings_helper_spec.rb' - './ee/spec/helpers/ee/auth_helper_spec.rb' - './ee/spec/helpers/ee/blob_helper_spec.rb' - './ee/spec/helpers/ee/branches_helper_spec.rb' -- GitLab