Files
discourse/spec/system/admin_search_spec.rb
Martin Brennan 8ccb66a44a FEATURE: Release admin search for all sites (#32327)
This commit removes the experimental setting controlling
admin search and releases it for all admins. This search
can be triggered with Ctrl+/ or Cmd+/

For more information see
https://meta.discourse.org/t/introducing-comprehensive-admin-search/360157
2025-04-16 16:26:53 +10:00

68 lines
2.4 KiB
Ruby

# frozen_string_literal: true
describe "Admin Search", type: :system do
fab!(:current_user) { Fabricate(:admin) }
let(:search_modal) { PageObjects::Modals::AdminSearch.new }
before { sign_in(current_user) }
def open_search_modal
send_keys([SystemHelpers::PLATFORM_KEY_MODIFIER, "/"])
expect(search_modal).to be_open
end
it "can search for settings, pages, themes, components, and reports" do
theme = Fabricate(:theme, name: "Discourse Invincible Theme")
component = Fabricate(:theme, name: "Discourse Redacted", component: true)
Theme
.any_instance
.stubs(:internal_translations)
.returns([stub(key: "theme_metadata.description", value: "Some description")])
visit "/admin"
open_search_modal
search_modal.search("min_topic_title")
expect(search_modal.find_result("setting", 0)).to have_content("Min topic title length")
expect(search_modal.find_result("setting", 0)).to have_content(
I18n.t("site_settings.min_topic_title_length"),
)
search_modal.search("mau")
expect(search_modal.find_result("report", 0)).to have_content(
I18n.t("reports.dau_by_mau.title"),
)
expect(search_modal.find_result("report", 0)).to have_content(
I18n.t("reports.dau_by_mau.description"),
)
search_modal.search("permalinks")
expect(search_modal.find_result("page", 0)).to have_content(
I18n.t("admin_js.admin.config.permalinks.title"),
)
expect(search_modal.find_result("page", 0)).to have_content(
I18n.t("admin_js.admin.config.permalinks.header_description"),
)
search_modal.search("invincible")
expect(search_modal.find_result("theme", 0)).to have_content("Discourse Invincible Theme")
expect(search_modal.find_result("theme", 0)).to have_content("Some description")
search_modal.search("redacted")
expect(search_modal.find_result("component", 0)).to have_content("Discourse Redacted")
expect(search_modal.find_result("component", 0)).to have_content("Some description")
end
it "can search full page" do
visit "/admin"
open_search_modal
search_modal.search("min_topic_title")
search_modal.input_enter
expect(page).to have_current_path("/admin/search?filter=min_topic_title")
expect(search_modal.find_result("setting", 0)).to have_content("Min topic title length")
expect(search_modal.find_result("setting", 0)).to have_content(
I18n.t("site_settings.min_topic_title_length"),
)
end
end