summaryrefslogtreecommitdiff
path: root/spec/models/merge_request_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r--spec/models/merge_request_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index edd543854cb..4a8a2909891 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -80,6 +80,24 @@ RSpec.describe MergeRequest, factory_default: :keep do
end
end
+ describe '.order_closed_at_asc' do
+ let_it_be(:older_mr) { create(:merge_request, :closed_last_month) }
+ let_it_be(:newer_mr) { create(:merge_request, :closed_last_month) }
+
+ it 'returns MRs ordered by closed_at ascending' do
+ expect(described_class.order_closed_at_asc).to eq([older_mr, newer_mr])
+ end
+ end
+
+ describe '.order_closed_at_desc' do
+ let_it_be(:older_mr) { create(:merge_request, :closed_last_month) }
+ let_it_be(:newer_mr) { create(:merge_request, :closed_last_month) }
+
+ it 'returns MRs ordered by closed_at descending' do
+ expect(described_class.order_closed_at_desc).to eq([newer_mr, older_mr])
+ end
+ end
+
describe '.with_jira_issue_keys' do
let_it_be(:mr_with_jira_title) { create(:merge_request, :unique_branches, title: 'Fix TEST-123') }
let_it_be(:mr_with_jira_description) { create(:merge_request, :unique_branches, description: 'this closes TEST-321') }
@@ -577,6 +595,26 @@ RSpec.describe MergeRequest, factory_default: :keep do
expect(merge_requests).to eq([newer_mr, older_mr])
end
end
+
+ context 'closed_at' do
+ let_it_be(:older_mr) { create(:merge_request, :closed_last_month) }
+ let_it_be(:newer_mr) { create(:merge_request, :closed_last_month) }
+
+ it 'sorts asc' do
+ merge_requests = described_class.sort_by_attribute(:closed_at_asc)
+ expect(merge_requests).to eq([older_mr, newer_mr])
+ end
+
+ it 'sorts desc' do
+ merge_requests = described_class.sort_by_attribute(:closed_at_desc)
+ expect(merge_requests).to eq([newer_mr, older_mr])
+ end
+
+ it 'sorts asc when its closed_at' do
+ merge_requests = described_class.sort_by_attribute(:closed_at)
+ expect(merge_requests).to eq([older_mr, newer_mr])
+ end
+ end
end
describe 'time to merge calculations' do