summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNermin Vehabovic <nermin.vehabovic90@gmail.com>2019-02-16 16:57:14 +0100
committermfluharty <mfluharty@gitlab.com>2019-02-20 11:20:33 -0700
commit1e96de8f1921907e42c6a89130d405f5b5caf876 (patch)
treed3db0854a8c581b0ff65890475f24509219e4343
parentd3c60a25c8e9494970d57b467f6f558aa31dd904 (diff)
downloadgitlab-ce-1e96de8f1921907e42c6a89130d405f5b5caf876.tar.gz
Added: Specs for sort page break tie in the merge request list API
-rw-r--r--spec/support/shared_examples/requests/api/merge_requests_list.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/support/shared_examples/requests/api/merge_requests_list.rb b/spec/support/shared_examples/requests/api/merge_requests_list.rb
index 453f42251c8..6713ec47ace 100644
--- a/spec/support/shared_examples/requests/api/merge_requests_list.rb
+++ b/spec/support/shared_examples/requests/api/merge_requests_list.rb
@@ -257,6 +257,38 @@ shared_examples 'merge requests list' do
expect(response_dates).to eq(response_dates.sort.reverse)
end
+ context '2 merge requests with equal created_at' do
+ let!(:closed_mr2) do
+ create :merge_request,
+ state: 'closed',
+ milestone: milestone1,
+ author: user,
+ assignee: user,
+ source_project: project,
+ target_project: project,
+ title: "Test",
+ created_at: @mr_earlier.created_at
+ end
+
+ it 'page breaks first page correctly' do
+ get api("#{endpoint_path}?sort=desc&per_page=4", user)
+
+ response_ids = json_response.map { |merge_request| merge_request['id'] }
+
+ expect(response_ids).to include(closed_mr2.id)
+ expect(response_ids).not_to include(@mr_earlier.id)
+ end
+
+ it 'page breaks second page correctly' do
+ get api("#{endpoint_path}?sort=desc&per_page=4&page=2", user)
+
+ response_ids = json_response.map { |merge_request| merge_request['id'] }
+
+ expect(response_ids).not_to include(closed_mr2.id)
+ expect(response_ids).to include(@mr_earlier.id)
+ end
+ end
+
it 'returns an array of merge_requests ordered by updated_at' do
path = endpoint_path + '?order_by=updated_at'