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/lib/bulk_imports/projects/pipelines/merge_requests_pipeline_spec.rb')
-rw-r--r--spec/lib/bulk_imports/projects/pipelines/merge_requests_pipeline_spec.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/lib/bulk_imports/projects/pipelines/merge_requests_pipeline_spec.rb b/spec/lib/bulk_imports/projects/pipelines/merge_requests_pipeline_spec.rb
index 3f02356b41e..e780cde4ae2 100644
--- a/spec/lib/bulk_imports/projects/pipelines/merge_requests_pipeline_spec.rb
+++ b/spec/lib/bulk_imports/projects/pipelines/merge_requests_pipeline_spec.rb
@@ -4,6 +4,7 @@ require 'spec_helper'
RSpec.describe BulkImports::Projects::Pipelines::MergeRequestsPipeline do
let_it_be(:user) { create(:user) }
+ let_it_be(:another_user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:project) { create(:project, :repository, group: group) }
let_it_be(:bulk_import) { create(:bulk_import, user: user) }
@@ -85,6 +86,9 @@ RSpec.describe BulkImports::Projects::Pipelines::MergeRequestsPipeline do
describe '#run' do
before do
group.add_owner(user)
+ group.add_maintainer(another_user)
+
+ ::BulkImports::UsersMapper.new(context: context).cache_source_user_id(42, another_user.id)
allow_next_instance_of(BulkImports::Common::Extractors::NdjsonExtractor) do |extractor|
allow(extractor).to receive(:remove_tmp_dir)
@@ -293,5 +297,52 @@ RSpec.describe BulkImports::Projects::Pipelines::MergeRequestsPipeline do
expect(imported_mr.milestone.title).to eq(attributes.dig('milestone', 'title'))
end
end
+
+ context 'user assignments' do
+ let(:attributes) do
+ {
+ key => [
+ {
+ 'user_id' => 22,
+ 'created_at' => '2020-01-07T11:21:21.235Z'
+ },
+ {
+ 'user_id' => 42,
+ 'created_at' => '2020-01-08T12:21:21.235Z'
+ }
+ ]
+ }
+ end
+
+ context 'assignees' do
+ let(:key) { 'merge_request_assignees' }
+
+ it 'imports mr assignees' do
+ assignees = imported_mr.merge_request_assignees
+
+ expect(assignees.pluck(:user_id)).to contain_exactly(user.id, another_user.id)
+ end
+ end
+
+ context 'approvals' do
+ let(:key) { 'approvals' }
+
+ it 'imports mr approvals' do
+ approvals = imported_mr.approvals
+
+ expect(approvals.pluck(:user_id)).to contain_exactly(user.id, another_user.id)
+ end
+ end
+
+ context 'reviewers' do
+ let(:key) { 'merge_request_reviewers' }
+
+ it 'imports mr reviewers' do
+ reviewers = imported_mr.merge_request_reviewers
+
+ expect(reviewers.pluck(:user_id)).to contain_exactly(user.id, another_user.id)
+ end
+ end
+ end
end
end