diff options
Diffstat (limited to 'spec/finders/merge_requests_finder_spec.rb')
-rw-r--r-- | spec/finders/merge_requests_finder_spec.rb | 76 |
1 files changed, 61 insertions, 15 deletions
diff --git a/spec/finders/merge_requests_finder_spec.rb b/spec/finders/merge_requests_finder_spec.rb index e8099924638..6d576bc8e38 100644 --- a/spec/finders/merge_requests_finder_spec.rb +++ b/spec/finders/merge_requests_finder_spec.rb @@ -493,6 +493,48 @@ RSpec.describe MergeRequestsFinder, feature_category: :code_review_workflow do end end + context 'filtering by approved' do + before do + create(:approval, merge_request: merge_request3, user: user2) + end + + context 'when flag `mr_approved_filter` is disabled' do + before do + stub_feature_flags(mr_approved_filter: false) + end + + it 'for approved' do + merge_requests = described_class.new(user, { approved: true }).execute + + expect(merge_requests).to contain_exactly(merge_request1, merge_request2, merge_request3, merge_request4, merge_request5) + end + + it 'for not approved' do + merge_requests = described_class.new(user, { approved: false }).execute + + expect(merge_requests).to contain_exactly(merge_request1, merge_request2, merge_request3, merge_request4, merge_request5) + end + end + + context 'when flag `mr_approved_filter` is enabled' do + before do + stub_feature_flags(mr_approved_filter: true) + end + + it 'for approved' do + merge_requests = described_class.new(user, { approved: true }).execute + + expect(merge_requests).to contain_exactly(merge_request3) + end + + it 'for not approved' do + merge_requests = described_class.new(user, { approved: false }).execute + + expect(merge_requests).to contain_exactly(merge_request1, merge_request2, merge_request4, merge_request5) + end + end + end + context 'filtering by approved by username' do let(:params) { { approved_by_usernames: user2.username } } @@ -564,24 +606,28 @@ RSpec.describe MergeRequestsFinder, feature_category: :code_review_workflow do let_it_be(:new_project) { create(:project, forked_from_project: project1) } let!(:new_merge_request) do - create(:merge_request, - :simple, - author: user, - created_at: 1.week.from_now, - updated_at: 1.week.from_now, - source_project: new_project, - target_project: new_project) + create( + :merge_request, + :simple, + author: user, + created_at: 1.week.from_now, + updated_at: 1.week.from_now, + source_project: new_project, + target_project: new_project + ) end let!(:old_merge_request) do - create(:merge_request, - :simple, - author: user, - source_branch: 'feature_1', - created_at: 1.week.ago, - updated_at: 1.week.ago, - source_project: new_project, - target_project: new_project) + create( + :merge_request, + :simple, + author: user, + source_branch: 'feature_1', + created_at: 1.week.ago, + updated_at: 1.week.ago, + source_project: new_project, + target_project: new_project + ) end before_all do |