diff options
Diffstat (limited to 'spec/finders/merge_requests_finder_spec.rb')
-rw-r--r-- | spec/finders/merge_requests_finder_spec.rb | 53 |
1 files changed, 24 insertions, 29 deletions
diff --git a/spec/finders/merge_requests_finder_spec.rb b/spec/finders/merge_requests_finder_spec.rb index deeca6132e0..349ffd09324 100644 --- a/spec/finders/merge_requests_finder_spec.rb +++ b/spec/finders/merge_requests_finder_spec.rb @@ -228,9 +228,9 @@ RSpec.describe MergeRequestsFinder do end describe ':label_name parameter' do - let(:common_labels) { create_list(:label, 3) } - let(:distinct_labels) { create_list(:label, 3) } - let(:merge_requests) do + let_it_be(:common_labels) { create_list(:label, 3) } + let_it_be(:distinct_labels) { create_list(:label, 3) } + let_it_be(:merge_requests) do common_attrs = { source_project: project1, target_project: project1, author: user } @@ -496,20 +496,15 @@ RSpec.describe MergeRequestsFinder do context 'filtering by approved by username' do let(:params) { { approved_by_usernames: user2.username } } + where(:sort) { [nil] + %w(milestone merged_at merged_at_desc closed_at closed_at_desc) } + 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' } } - + with_them do it 'returns merge requests approved by that user' do + params = { approved_by_usernames: user2.username, sort: sort } merge_requests = described_class.new(user, params).execute expect(merge_requests).to contain_exactly(merge_request3) @@ -566,7 +561,7 @@ RSpec.describe MergeRequestsFinder do end context 'filtering by created_at/updated_at' do - let(:new_project) { create(:project, forked_from_project: project1) } + let_it_be(:new_project) { create(:project, forked_from_project: project1) } let!(:new_merge_request) do create(:merge_request, @@ -589,7 +584,7 @@ RSpec.describe MergeRequestsFinder do target_project: new_project) end - before do + before_all do new_project.add_maintainer(user) end @@ -651,10 +646,10 @@ RSpec.describe MergeRequestsFinder do end context 'filtering by the merge request deployments' do - let(:gstg) { create(:environment, project: project4, name: 'gstg') } - let(:gprd) { create(:environment, project: project4, name: 'gprd') } + let_it_be(:gstg) { create(:environment, project: project4, name: 'gstg') } + let_it_be(:gprd) { create(:environment, project: project4, name: 'gprd') } - let(:mr1) do + let_it_be(:mr1) do create( :merge_request, :simple, @@ -665,7 +660,7 @@ RSpec.describe MergeRequestsFinder do ) end - let(:mr2) do + let_it_be(:mr2) do create( :merge_request, :simple, @@ -676,7 +671,7 @@ RSpec.describe MergeRequestsFinder do ) end - let(:deploy1) do + let_it_be(:deploy1) do create( :deployment, :success, @@ -688,7 +683,7 @@ RSpec.describe MergeRequestsFinder do ) end - let(:deploy2) do + let_it_be(:deploy2) do create( :deployment, :success, @@ -700,7 +695,7 @@ RSpec.describe MergeRequestsFinder do ) end - before do + before_all do deploy1.link_merge_requests(MergeRequest.where(id: mr1.id)) deploy2.link_merge_requests(MergeRequest.where(id: mr2.id)) end @@ -838,13 +833,13 @@ RSpec.describe MergeRequestsFinder do end context 'when projects require different access levels for merge requests' do - let(:user) { create(:user) } + let_it_be(:user) { create(:user) } - let(:public_project) { create(:project, :public) } - let(:internal) { create(:project, :internal) } - let(:private_project) { create(:project, :private) } - let(:public_with_private_repo) { create(:project, :public, :repository, :repository_private) } - let(:internal_with_private_repo) { create(:project, :internal, :repository, :repository_private) } + let_it_be(:public_project) { create(:project, :public) } + let_it_be(:internal) { create(:project, :internal) } + let_it_be(:private_project) { create(:project, :private) } + let_it_be(:public_with_private_repo) { create(:project, :public, :repository, :repository_private) } + let_it_be(:internal_with_private_repo) { create(:project, :internal, :repository, :repository_private) } let(:merge_requests) { described_class.new(user, {}).execute } @@ -855,7 +850,7 @@ RSpec.describe MergeRequestsFinder do let!(:mr_internal_private_repo_access) { create(:merge_request, source_project: internal_with_private_repo) } context 'with admin user' do - let(:user) { create(:user, :admin) } + let_it_be(:user) { create(:user, :admin) } context 'when admin mode is enabled', :enable_admin_mode do it 'returns all merge requests' do @@ -973,7 +968,7 @@ RSpec.describe MergeRequestsFinder do let_it_be(:labels) { create_list(:label, 2, project: project) } let_it_be(:merge_requests) { create_list(:merge_request, 4, :unique_branches, author: user, target_project: project, source_project: project, labels: labels) } - before do + before_all do project.add_developer(user) end |