Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/finders/merge_requests_finder_spec.rb')
-rw-r--r--spec/finders/merge_requests_finder_spec.rb58
1 files changed, 37 insertions, 21 deletions
diff --git a/spec/finders/merge_requests_finder_spec.rb b/spec/finders/merge_requests_finder_spec.rb
index 96466e99105..deeca6132e0 100644
--- a/spec/finders/merge_requests_finder_spec.rb
+++ b/spec/finders/merge_requests_finder_spec.rb
@@ -408,25 +408,6 @@ RSpec.describe MergeRequestsFinder do
end
end
- context 'attention' do
- subject { described_class.new(user, params).execute }
-
- before do
- reviewer = merge_request1.find_reviewer(user2)
- reviewer.update!(state: :reviewed)
-
- merge_request2.find_reviewer(user2).update!(state: :attention_requested)
- merge_request3.find_assignee(user2).update!(state: :attention_requested)
- end
-
- context 'by username' do
- let(:params) { { attention: user2.username } }
- let(:expected_mr) { [merge_request2, merge_request3] }
-
- it { is_expected.to contain_exactly(*expected_mr) }
- end
- end
-
context 'reviewer filtering' do
subject { described_class.new(user, params).execute }
@@ -512,7 +493,7 @@ RSpec.describe MergeRequestsFinder do
end
end
- context 'filtering by approved by' do
+ context 'filtering by approved by username' do
let(:params) { { approved_by_usernames: user2.username } }
before do
@@ -525,6 +506,16 @@ RSpec.describe MergeRequestsFinder do
expect(merge_requests).to contain_exactly(merge_request3)
end
+ context 'with sorting by milestone' do
+ let(:params) { { approved_by_usernames: user2.username, sort: 'milestone' } }
+
+ it 'returns merge requests approved by that user' do
+ merge_requests = described_class.new(user, params).execute
+
+ expect(merge_requests).to contain_exactly(merge_request3)
+ end
+ end
+
context 'not filter' do
let(:params) { { not: { approved_by_usernames: user2.username } } }
@@ -550,6 +541,30 @@ RSpec.describe MergeRequestsFinder do
end
end
+ context 'filtering by approved by user ID' do
+ let(:params) { { approved_by_ids: user2.id } }
+
+ before do
+ create(:approval, merge_request: merge_request3, user: user2)
+ end
+
+ it 'returns merge requests approved by that user' do
+ merge_requests = described_class.new(user, params).execute
+
+ expect(merge_requests).to contain_exactly(merge_request3)
+ end
+
+ context 'with sorting by milestone' do
+ let(:params) { { approved_by_usernames: user2.username, sort: 'milestone' } }
+
+ it 'returns merge requests approved by that user' do
+ merge_requests = described_class.new(user, params).execute
+
+ expect(merge_requests).to contain_exactly(merge_request3)
+ end
+ end
+ end
+
context 'filtering by created_at/updated_at' do
let(:new_project) { create(:project, forked_from_project: project1) }
@@ -751,7 +766,8 @@ RSpec.describe MergeRequestsFinder do
release_tag: 'none',
label_names: 'none',
my_reaction_emoji: 'none',
- draft: 'no'
+ draft: 'no',
+ sort: 'milestone'
}
merge_requests = described_class.new(user, params).execute