diff options
Diffstat (limited to 'spec/services/merge_requests/update_service_spec.rb')
-rw-r--r-- | spec/services/merge_requests/update_service_spec.rb | 111 |
1 files changed, 9 insertions, 102 deletions
diff --git a/spec/services/merge_requests/update_service_spec.rb b/spec/services/merge_requests/update_service_spec.rb index b7fb48718d8..8ebabd64d8a 100644 --- a/spec/services/merge_requests/update_service_spec.rb +++ b/spec/services/merge_requests/update_service_spec.rb @@ -47,6 +47,11 @@ RSpec.describe MergeRequests::UpdateService, :mailer do @merge_request.reload end + it_behaves_like 'issuable update service updating last_edited_at values' do + let(:issuable) { merge_request } + subject(:update_issuable) { update_merge_request(update_params) } + end + context 'valid params' do let(:locked) { true } @@ -215,14 +220,6 @@ RSpec.describe MergeRequests::UpdateService, :mailer do MergeRequests::UpdateService.new(project: project, current_user: user, params: opts).execute(merge_request) end - - it 'updates attention requested by of reviewer' do - opts[:reviewers] = [user2] - - MergeRequests::UpdateService.new(project: project, current_user: user, params: opts).execute(merge_request) - - expect(merge_request.find_reviewer(user2).updated_state_by).to eq(user) - end end context 'when reviewers did not change' do @@ -328,49 +325,6 @@ RSpec.describe MergeRequests::UpdateService, :mailer do update_merge_request(reviewer_ids: [user.id]) end - - context 'setting state of reviewers' do - before do - stub_feature_flags(mr_attention_requests: false) - end - - it 'does not set state as attention_requested if feature flag is disabled' do - update_merge_request(reviewer_ids: [user.id]) - - expect(merge_request.merge_request_reviewers[0].state).not_to eq('attention_requested') - end - - context 'feature flag is enabled for current_user' do - before do - stub_feature_flags(mr_attention_requests: user) - end - - it 'sets state as attention_requested' do - update_merge_request(reviewer_ids: [user2.id]) - - expect(merge_request.merge_request_reviewers[0].state).to eq('attention_requested') - expect(merge_request.merge_request_reviewers[0].updated_state_by).to eq(user) - end - - it 'keeps original reviewers state' do - merge_request.find_reviewer(user2).update!(state: :unreviewed) - - update_merge_request({ - reviewer_ids: [user2.id] - }) - - expect(merge_request.find_reviewer(user2).state).to eq('unreviewed') - end - - it 'uses reviewers state if it is same user as new assignee' do - merge_request.assignees << user - - update_merge_request(reviewer_ids: [user.id]) - - expect(merge_request.merge_request_reviewers[0].state).to eq('unreviewed') - end - end - end end it 'creates a resource label event' do @@ -561,9 +515,9 @@ RSpec.describe MergeRequests::UpdateService, :mailer do before do create(:ci_pipeline, project: project, - ref: merge_request.source_branch, - sha: merge_request.diff_head_sha, - status: :success) + ref: merge_request.source_branch, + sha: merge_request.diff_head_sha, + status: :success) perform_enqueued_jobs do @merge_request = service.execute(merge_request) @@ -895,7 +849,7 @@ RSpec.describe MergeRequests::UpdateService, :mailer do @merge_request = described_class.new(project: project, current_user: user, params: opts).execute(merge_request) end - should_not_email(subscriber) + should_email(subscriber) should_not_email(non_subscriber) end @@ -1133,53 +1087,6 @@ RSpec.describe MergeRequests::UpdateService, :mailer do end end end - - context 'setting state of assignees' do - before do - stub_feature_flags(mr_attention_requests: false) - end - - it 'does not set state as attention_requested if feature flag is disabled' do - update_merge_request({ - assignee_ids: [user2.id] - }) - - expect(merge_request.merge_request_assignees[0].state).not_to eq('attention_requested') - end - - context 'feature flag is enabled for current_user' do - before do - stub_feature_flags(mr_attention_requests: user) - end - - it 'sets state as attention_requested' do - update_merge_request({ - assignee_ids: [user2.id] - }) - - expect(merge_request.merge_request_assignees[0].state).to eq('attention_requested') - expect(merge_request.merge_request_assignees[0].updated_state_by).to eq(user) - end - - it 'keeps original assignees state' do - update_merge_request({ - assignee_ids: [user3.id] - }) - - expect(merge_request.find_assignee(user3).state).to eq('unreviewed') - end - - it 'uses reviewers state if it is same user as new assignee' do - merge_request.reviewers << user2 - - update_merge_request({ - assignee_ids: [user2.id] - }) - - expect(merge_request.merge_request_assignees[0].state).to eq('unreviewed') - end - end - end end context 'when adding time spent' do |