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/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb')
-rw-r--r--spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb b/spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb
new file mode 100644
index 00000000000..28af6219812
--- /dev/null
+++ b/spec/services/import/gitlab_projects/file_acquisition_strategies/file_upload_spec.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe ::Import::GitlabProjects::FileAcquisitionStrategies::FileUpload, :aggregate_failures do
+ let(:file) { UploadedFile.new( File.join('spec', 'features', 'projects', 'import_export', 'test_project_export.tar.gz') ) }
+
+ describe 'validation' do
+ it 'validates presence of file' do
+ valid = described_class.new(params: { file: file })
+ expect(valid).to be_valid
+
+ invalid = described_class.new(params: {})
+ expect(invalid).not_to be_valid
+ expect(invalid.errors.full_messages).to include("File must be uploaded")
+ end
+ end
+
+ describe '#project_params' do
+ it 'returns the file to upload in the params' do
+ subject = described_class.new(params: { file: file })
+
+ expect(subject.project_params).to eq(file: file)
+ end
+ end
+end