diff --git a/app/controllers/list_controller.rb b/app/controllers/list_controller.rb index b8353663509..55c922794ce 100644 --- a/app/controllers/list_controller.rb +++ b/app/controllers/list_controller.rb @@ -109,7 +109,7 @@ class ListController < ApplicationController @title = I18n.t('js.filters.with_topics', filter: filter_title) end @title << " - #{SiteSetting.title}" - elsif (filter.to_s == current_homepage) && SiteSetting.short_site_description.present? + elsif @category.blank? && (filter.to_s == current_homepage) && SiteSetting.short_site_description.present? @title = "#{SiteSetting.title} - #{SiteSetting.short_site_description}" end end diff --git a/spec/requests/list_controller_spec.rb b/spec/requests/list_controller_spec.rb index 587c6807d09..27ced58f4fb 100644 --- a/spec/requests/list_controller_spec.rb +++ b/spec/requests/list_controller_spec.rb @@ -463,6 +463,23 @@ RSpec.describe ListController do expect(css_select("link[rel=canonical]").length).to eq(1) end end + + context "renders correct title" do + let!(:amazing_category) { Fabricate(:category, name: "Amazing Category") } + + it 'for category default view' do + get "/c/#{amazing_category.slug}" + + expect(response.body).to have_tag "title", text: "Amazing Category - Discourse" + end + + it 'for category latest view' do + SiteSetting.short_site_description = "Best community" + get "/c/#{amazing_category.slug}/l/latest" + + expect(response.body).to have_tag "title", text: "Amazing Category - Discourse" + end + end end end