diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 12:09:06 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 12:09:06 +0300 |
commit | 7e8278c0f46cf6058efad5afd0aef177977bd663 (patch) | |
tree | 7ac46710921145bb782bcb208ea896e1548b168b /spec/services/groups/import_export/import_service_spec.rb | |
parent | bbf6581214128ae12a6ff32f66a0d03ee57a2e91 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/groups/import_export/import_service_spec.rb')
-rw-r--r-- | spec/services/groups/import_export/import_service_spec.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/services/groups/import_export/import_service_spec.rb b/spec/services/groups/import_export/import_service_spec.rb new file mode 100644 index 00000000000..bac266d08da --- /dev/null +++ b/spec/services/groups/import_export/import_service_spec.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Groups::ImportExport::ImportService do + describe '#execute' do + let(:user) { create(:admin) } + let(:group) { create(:group) } + let(:service) { described_class.new(group: group, user: user) } + let(:import_file) { fixture_file_upload('spec/fixtures/group_export.tar.gz') } + + subject { service.execute } + + before do + ImportExportUpload.create(group: group, import_file: import_file) + end + + context 'when user has correct permissions' do + it 'imports group structure successfully' do + expect(subject).to be_truthy + end + + it 'removes import file' do + subject + + expect(group.import_export_upload.import_file.file).to be_nil + end + end + + context 'when user does not have correct permissions' do + let(:user) { create(:user) } + + it 'raises exception' do + expect { subject }.to raise_error(StandardError) + end + end + end +end |