summaryrefslogtreecommitdiffstats
path: root/test/integration/api_test/search_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/api_test/search_test.rb')
-rw-r--r--test/integration/api_test/search_test.rb18
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