diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index aa29b24628..76fce3e6a6 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -2178,4 +2178,19 @@ class QueryTest < ActiveSupport::TestCase assert_equal ['1','2','3','4','5','6'], query.available_filters['status_id'][:values].map(&:second) end + + def test_issues_with_offset_and_limit + q = IssueQuery.new + q.sort_criteria = {'0' => ['priority', 'desc']} + + issue_ids = q.issues.pluck(:id) + paginated_issue_ids = [] + ((q.issue_count / 2) + 1).times do |i| + paginated_issue_ids += q.issues(:offset => (i * 2), :limit => 2).pluck(:id) + end + + # Non-paginated issue ids and paginated issue ids should be the same. + assert_equal issue_ids, paginated_issue_ids + assert_equal paginated_issue_ids.count, paginated_issue_ids.uniq.count + end end