Return missing page when tag does not exist (#2563)

This commit is contained in:
Matt Jankowski 2017-04-28 09:11:21 -04:00 committed by Eugen Rochko
parent 61067dc2e6
commit 429480bb77
2 changed files with 7 additions and 1 deletions

View File

@ -4,7 +4,7 @@ class TagsController < ApplicationController
layout 'public' layout 'public'
def show 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 = @tag.nil? ? [] : Status.as_tag_timeline(@tag, current_account, params[:local]).paginate_by_max_id(20, params[:max_id])
@statuses = cache_collection(@statuses, Status) @statuses = cache_collection(@statuses, Status)
end end

View File

@ -12,5 +12,11 @@ RSpec.describe TagsController, type: :controller do
get :show, params: { id: 'test' } get :show, params: { id: 'test' }
expect(response).to have_http_status(:success) expect(response).to have_http_status(:success)
end 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
end end