diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 21:18:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 21:18:33 +0300 |
commit | f64a639bcfa1fc2bc89ca7db268f594306edfd7c (patch) | |
tree | a2c3c2ebcc3b45e596949db485d6ed18ffaacfa1 /spec/lib/gitlab/github_import | |
parent | bfbc3e0d6583ea1a91f627528bedc3d65ba4b10f (diff) |
Add latest changes from gitlab-org/gitlab@13-10-stable-eev13.10.0-rc40
Diffstat (limited to 'spec/lib/gitlab/github_import')
-rw-r--r-- | spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb | 41 | ||||
-rw-r--r-- | spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb | 14 |
2 files changed, 37 insertions, 18 deletions
diff --git a/spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb b/spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb index 2999dc5bb41..e42b6d89c30 100644 --- a/spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb @@ -5,37 +5,46 @@ require 'spec_helper' RSpec.describe Gitlab::GithubImport::Importer::PullRequestMergedByImporter, :clean_gitlab_redis_cache do let_it_be(:merge_request) { create(:merged_merge_request) } let(:project) { merge_request.project } - let(:created_at) { Time.new(2017, 1, 1, 12, 00).utc } + let(:merged_at) { Time.new(2017, 1, 1, 12, 00).utc } let(:client_double) { double(user: double(id: 999, login: 'merger', email: 'merger@email.com')) } let(:pull_request) do instance_double( Gitlab::GithubImport::Representation::PullRequest, iid: merge_request.iid, - created_at: created_at, + merged_at: merged_at, merged_by: double(id: 999, login: 'merger') ) end subject { described_class.new(pull_request, project, client_double) } - it 'assigns the merged by user when mapped' do - merge_user = create(:user, email: 'merger@email.com') + context 'when the merger user can be mapped' do + it 'assigns the merged by user when mapped' do + merge_user = create(:user, email: 'merger@email.com') - subject.execute + subject.execute - expect(merge_request.metrics.reload.merged_by).to eq(merge_user) + metrics = merge_request.metrics.reload + expect(metrics.merged_by).to eq(merge_user) + expect(metrics.merged_at).to eq(merged_at) + end end - it 'adds a note referencing the merger user when the user cannot be mapped' do - expect { subject.execute } - .to change(Note, :count).by(1) - .and not_change(merge_request, :updated_at) - - last_note = merge_request.notes.last - - expect(last_note.note).to eq("*Merged by: merger*") - expect(last_note.created_at).to eq(created_at) - expect(last_note.author).to eq(project.creator) + context 'when the merger user cannot be mapped to a gitlab user' do + it 'adds a note referencing the merger user' do + expect { subject.execute } + .to change(Note, :count).by(1) + .and not_change(merge_request, :updated_at) + + metrics = merge_request.metrics.reload + expect(metrics.merged_by).to be_nil + expect(metrics.merged_at).to eq(merged_at) + + last_note = merge_request.notes.last + expect(last_note.note).to eq("*Merged by: merger at 2017-01-01 12:00:00 UTC*") + expect(last_note.created_at).to eq(merged_at) + expect(last_note.author).to eq(project.creator) + end end end diff --git a/spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb b/spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb index b2f993ac47c..290f3f51202 100644 --- a/spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/pull_request_review_importer_spec.rb @@ -19,8 +19,10 @@ RSpec.describe Gitlab::GithubImport::Importer::PullRequestReviewImporter, :clean context 'when the review is "APPROVED"' do let(:review) { create_review(type: 'APPROVED', note: '') } - it 'creates a note for the review' do - expect { subject.execute }.to change(Note, :count) + it 'creates a note for the review and approves the Merge Request' do + expect { subject.execute } + .to change(Note, :count).by(1) + .and change(Approval, :count).by(1) last_note = merge_request.notes.last expect(last_note.note).to eq('approved this merge request') @@ -31,6 +33,14 @@ RSpec.describe Gitlab::GithubImport::Importer::PullRequestReviewImporter, :clean expect(merge_request.approved_by_users.reload).to include(author) expect(merge_request.approvals.last.created_at).to eq(submitted_at) end + + it 'does nothing if the user already approved the merge request' do + create(:approval, merge_request: merge_request, user: author) + + expect { subject.execute } + .to change(Note, :count).by(0) + .and change(Approval, :count).by(0) + end end context 'when the review is "COMMENTED"' do |