FIX: handle invalid tags

This commit is contained in:
Arpit Jalan 2018-05-17 19:32:15 +05:30
parent b74c108c09
commit 9532d9a555
2 changed files with 24 additions and 4 deletions

View File

@ -277,10 +277,14 @@ class TagsController < ::ApplicationController
def construct_url_with(action, opts)
method = url_method(opts)
url = if action == :prev
public_send(method, opts.merge(prev_page_params(opts)))
else # :next
public_send(method, opts.merge(next_page_params(opts)))
begin
url = if action == :prev
public_send(method, opts.merge(prev_page_params(opts)))
else # :next
public_send(method, opts.merge(next_page_params(opts)))
end
rescue
raise Discourse::NotFound
end
url.sub('.json?', '?')
end

View File

@ -50,6 +50,22 @@ describe TagsController do
end
end
describe '#show' do
before do
Fabricate(:tag, name: 'test')
end
it "should return the right response" do
get "/tags/test"
expect(response).to be_success
end
it "should handle invalid tags" do
get "/tags/%2ftest%2f"
expect(response.status).to eq(404)
end
end
describe '#check_hashtag' do
let(:tag) { Fabricate(:tag, name: 'test') }