diff options
Diffstat (limited to 'spec/lib/bulk_imports')
6 files changed, 98 insertions, 3 deletions
diff --git a/spec/lib/bulk_imports/file_downloads/filename_fetch_spec.rb b/spec/lib/bulk_imports/file_downloads/filename_fetch_spec.rb new file mode 100644 index 00000000000..a77eba06027 --- /dev/null +++ b/spec/lib/bulk_imports/file_downloads/filename_fetch_spec.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe BulkImports::FileDownloads::FilenameFetch do + let(:dummy_instance) { dummy_class.new } + let(:dummy_class) do + Class.new do + include BulkImports::FileDownloads::FilenameFetch + end + end + + describe '#raise_error' do + it { expect { dummy_instance.raise_error('text') }.to raise_exception(NotImplementedError) } + end +end diff --git a/spec/lib/bulk_imports/file_downloads/validations_spec.rb b/spec/lib/bulk_imports/file_downloads/validations_spec.rb new file mode 100644 index 00000000000..85f45c2a8f0 --- /dev/null +++ b/spec/lib/bulk_imports/file_downloads/validations_spec.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe BulkImports::FileDownloads::Validations do + let(:dummy_instance) { dummy_class.new } + let(:dummy_class) do + Class.new do + include BulkImports::FileDownloads::Validations + end + end + + describe '#raise_error' do + it { expect { dummy_instance.raise_error('text') }.to raise_exception(NotImplementedError) } + end + + describe '#filepath' do + it { expect { dummy_instance.filepath }.to raise_exception(NotImplementedError) } + end + + describe '#response_headers' do + it { expect { dummy_instance.response_headers }.to raise_exception(NotImplementedError) } + end + + describe '#file_size_limit' do + it { expect { dummy_instance.file_size_limit }.to raise_exception(NotImplementedError) } + end +end diff --git a/spec/lib/bulk_imports/pipeline/extracted_data_spec.rb b/spec/lib/bulk_imports/pipeline/extracted_data_spec.rb index 9c79b3f4c9e..045908de5c4 100644 --- a/spec/lib/bulk_imports/pipeline/extracted_data_spec.rb +++ b/spec/lib/bulk_imports/pipeline/extracted_data_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'fast_spec_helper' RSpec.describe BulkImports::Pipeline::ExtractedData do let(:data) { 'data' } diff --git a/spec/lib/bulk_imports/pipeline_spec.rb b/spec/lib/bulk_imports/pipeline_spec.rb index e4ecf99dab0..dc169bb8d88 100644 --- a/spec/lib/bulk_imports/pipeline_spec.rb +++ b/spec/lib/bulk_imports/pipeline_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'fast_spec_helper' RSpec.describe BulkImports::Pipeline do let(:context) { instance_double(BulkImports::Pipeline::Context, tracker: nil) } 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 diff --git a/spec/lib/bulk_imports/retry_pipeline_error_spec.rb b/spec/lib/bulk_imports/retry_pipeline_error_spec.rb index 9d96407b03a..2ff6a7d2b5c 100644 --- a/spec/lib/bulk_imports/retry_pipeline_error_spec.rb +++ b/spec/lib/bulk_imports/retry_pipeline_error_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'fast_spec_helper' RSpec.describe BulkImports::RetryPipelineError do describe '#retry_delay' do |