mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: return status 400 for invalid member params
previously error returned was a 500 which is not ideal and is logged
This commit is contained in:
@@ -191,6 +191,15 @@ class GroupsController < ApplicationController
|
|||||||
|
|
||||||
limit = (params[:limit] || 20).to_i
|
limit = (params[:limit] || 20).to_i
|
||||||
offset = params[:offset].to_i
|
offset = params[:offset].to_i
|
||||||
|
|
||||||
|
if limit < 0
|
||||||
|
raise Discourse::InvalidParameters.new(:limit)
|
||||||
|
end
|
||||||
|
|
||||||
|
if offset < 0
|
||||||
|
raise Discourse::InvalidParameters.new(:offset)
|
||||||
|
end
|
||||||
|
|
||||||
dir = (params[:desc] && !params[:desc].blank?) ? 'DESC' : 'ASC'
|
dir = (params[:desc] && !params[:desc].blank?) ? 'DESC' : 'ASC'
|
||||||
order = ""
|
order = ""
|
||||||
|
|
||||||
|
|||||||
@@ -320,6 +320,17 @@ describe GroupsController do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "#members" do
|
describe "#members" do
|
||||||
|
|
||||||
|
it "returns correct error code with invalid params" do
|
||||||
|
sign_in(Fabricate(:user))
|
||||||
|
|
||||||
|
get "/groups/#{group.name}/members.json?limit=-1"
|
||||||
|
expect(response.status).to eq(400)
|
||||||
|
|
||||||
|
get "/groups/#{group.name}/members.json?offset=-1"
|
||||||
|
expect(response.status).to eq(400)
|
||||||
|
end
|
||||||
|
|
||||||
it "ensures the group can be seen" do
|
it "ensures the group can be seen" do
|
||||||
sign_in(Fabricate(:user))
|
sign_in(Fabricate(:user))
|
||||||
group.update!(visibility_level: Group.visibility_levels[:owners])
|
group.update!(visibility_level: Group.visibility_levels[:owners])
|
||||||
|
|||||||
Reference in New Issue
Block a user