diff options
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.rb | 26 |
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 |