commit: 429480bb775d53009e311b605a7ca73bd3acbc97
parent: 61067dc2e6105c8d4fcb8c3e864a60490c384354
Author: Matt Jankowski <mjankowski@thoughtbot.com>
Date: Fri, 28 Apr 2017 09:11:21 -0400
Return missing page when tag does not exist (#2563)
Diffstat:
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
@@ -4,7 +4,7 @@ class TagsController < ApplicationController
layout 'public'
def show
- @tag = Tag.find_by(name: params[:id].downcase)
+ @tag = Tag.find_by!(name: params[:id].downcase)
@statuses = @tag.nil? ? [] : Status.as_tag_timeline(@tag, current_account, params[:local]).paginate_by_max_id(20, params[:max_id])
@statuses = cache_collection(@statuses, Status)
end
diff --git a/spec/controllers/tags_controller_spec.rb b/spec/controllers/tags_controller_spec.rb
@@ -12,5 +12,11 @@ RSpec.describe TagsController, type: :controller do
get :show, params: { id: 'test' }
expect(response).to have_http_status(:success)
end
+
+ it 'returns http missing for non-existent tag' do
+ get :show, params: { id: 'none' }
+
+ expect(response).to have_http_status(:missing)
+ end
end
end