diff options
Diffstat (limited to 'test/integration/api_test/search_test.rb')
-rw-r--r-- | test/integration/api_test/search_test.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/integration/api_test/search_test.rb b/test/integration/api_test/search_test.rb index 9ec115409..21351ce83 100644 --- a/test/integration/api_test/search_test.rb +++ b/test/integration/api_test/search_test.rb @@ -71,4 +71,22 @@ class Redmine::ApiTest::SearchTest < Redmine::ApiTest::Base end end end + + test "GET /search.xml should paginate" do + issue = (0..10).map {Issue.generate! :subject => 'search_with_limited_results'}.reverse.map(&:id) + + get '/search.json', :q => 'search_with_limited_results', :limit => 4 + json = ActiveSupport::JSON.decode(response.body) + assert_equal 11, json['total_count'] + assert_equal 0, json['offset'] + assert_equal 4, json['limit'] + assert_equal issue[0..3], json['results'].map {|r| r['id']} + + get '/search.json', :q => 'search_with_limited_results', :offset => 8, :limit => 4 + json = ActiveSupport::JSON.decode(response.body) + assert_equal 11, json['total_count'] + assert_equal 8, json['offset'] + assert_equal 4, json['limit'] + assert_equal issue[8..10], json['results'].map {|r| r['id']} + end end |