API: fix missing page parameter to integer conversion

This commit is contained in:
Jonne Haß 2019-04-28 14:51:09 +02:00 committed by Jonne Haß
parent ab04633474
commit 2f7acbe4b3
3 changed files with 4 additions and 4 deletions

View file

@ -40,7 +40,7 @@ module Api
def current_page_settings(params) def current_page_settings(params)
if params["page"] if params["page"]
requested_page = params["page"] requested_page = params["page"].to_i
requested_page = 1 if requested_page < 1 requested_page = 1 if requested_page < 1
requested_page requested_page
elsif @allow_default_page elsif @allow_default_page
@ -71,7 +71,7 @@ module Api
end end
def limit_settings(params) def limit_settings(params)
requested_limit = params["per_page"] requested_limit = params["per_page"].to_i if params["per_page"]
return @default_limit unless requested_limit return @default_limit unless requested_limit
requested_limit = [1, requested_limit].max requested_limit = [1, requested_limit].max

View file

@ -2,7 +2,7 @@
describe Api::Paging::RestPaginatorBuilder do describe Api::Paging::RestPaginatorBuilder do
it "generates page response builder called with index-based pager" do it "generates page response builder called with index-based pager" do
params = ActionController::Parameters.new(page: 1) params = ActionController::Parameters.new(page: "1", per_page: "20")
pager = Api::Paging::RestPaginatorBuilder.new(alice.posts, nil).index_pager(params) pager = Api::Paging::RestPaginatorBuilder.new(alice.posts, nil).index_pager(params)
expect(pager.is_a?(Api::Paging::RestPagedResponseBuilder)).to be_truthy expect(pager.is_a?(Api::Paging::RestPagedResponseBuilder)).to be_truthy
end end