From e5cda633912d9cfcb1539962c65e7abc89b40c1a Mon Sep 17 00:00:00 2001 From: Suzanne Aitchison Date: Mon, 22 Nov 2021 13:32:28 +0000 Subject: [PATCH] reflect search query in page title (#15434) --- .../stories/articles_search/_meta.html.erb | 3 ++- config/locales/views/misc/en.yml | 3 ++- config/locales/views/misc/fr.yml | 3 ++- spec/system/search/search_title_spec.rb | 27 +++++++++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 spec/system/search/search_title_spec.rb diff --git a/app/views/stories/articles_search/_meta.html.erb b/app/views/stories/articles_search/_meta.html.erb index 3ae89cec3..d77868796 100644 --- a/app/views/stories/articles_search/_meta.html.erb +++ b/app/views/stories/articles_search/_meta.html.erb @@ -1,4 +1,5 @@ -<% title t("views.search.meta.title") %> +<% title t("views.search.meta.title", for: (params[:q].present? ? t("views.search.meta.for", query: params[:q]) : "")) %> + <%= meta_keywords_default %> diff --git a/config/locales/views/misc/en.yml b/config/locales/views/misc/en.yml index 9f7bc052d..842eb2793 100644 --- a/config/locales/views/misc/en.yml +++ b/config/locales/views/misc/en.yml @@ -85,7 +85,8 @@ en: newest: Newest oldest: Oldest meta: - title: Search Results + title: Search Results%{for} + for: " for %{query}" description: "%{site} => Search Results" series: meta: diff --git a/config/locales/views/misc/fr.yml b/config/locales/views/misc/fr.yml index 008c26227..6614dc1bd 100644 --- a/config/locales/views/misc/fr.yml +++ b/config/locales/views/misc/fr.yml @@ -85,7 +85,8 @@ fr: newest: Newest oldest: Oldest meta: - title: Search Results + title: Search Results%{for} + for: " for %{query}" description: "%{site} => Search Results" series: meta: diff --git a/spec/system/search/search_title_spec.rb b/spec/system/search/search_title_spec.rb new file mode 100644 index 000000000..67bd24732 --- /dev/null +++ b/spec/system/search/search_title_spec.rb @@ -0,0 +1,27 @@ +require "rails_helper" + +RSpec.describe "Search page title", type: :system do + let!(:current_user) { create(:user) } + + before do + sign_in current_user + end + + context "when search query param exists" do + it "includes the search term in title and heading" do + visit "/search?q=helloworld" + + expect(page).to have_title("Search Results for helloworld - DEV(local)") + expect(page.find("h1")).to have_content("Search results for helloworld") + end + end + + context "when search query param doesn't exist" do + it "does not include search term in title and heading" do + visit "/search" + + expect(page).to have_title("Search Results - DEV(local)") + expect(page.find("h1")).to have_content("Search results") + end + end +end