diff options
Diffstat (limited to 'spec/services/projects/import_export/export_service_spec.rb')
-rw-r--r-- | spec/services/projects/import_export/export_service_spec.rb | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/spec/services/projects/import_export/export_service_spec.rb b/spec/services/projects/import_export/export_service_spec.rb index e00507d1827..5f496cb1e56 100644 --- a/spec/services/projects/import_export/export_service_spec.rb +++ b/spec/services/projects/import_export/export_service_spec.rb @@ -7,9 +7,10 @@ describe Projects::ImportExport::ExportService do let!(:user) { create(:user) } let(:project) { create(:project) } let(:shared) { project.import_export_shared } - let(:service) { described_class.new(project, user) } let!(:after_export_strategy) { Gitlab::ImportExport::AfterExportStrategies::DownloadNotificationStrategy.new } + subject(:service) { described_class.new(project, user) } + before do project.add_maintainer(user) end @@ -46,8 +47,8 @@ describe Projects::ImportExport::ExportService do # in the corresponding EE spec. skip if Gitlab.ee? - # once for the normal repo, once for the wiki - expect(Gitlab::ImportExport::RepoSaver).to receive(:new).twice.and_call_original + # once for the normal repo, once for the wiki repo, and once for the design repo + expect(Gitlab::ImportExport::RepoSaver).to receive(:new).exactly(3).times.and_call_original service.execute end @@ -58,6 +59,12 @@ describe Projects::ImportExport::ExportService do service.execute end + it 'saves the design repo' do + expect(Gitlab::ImportExport::DesignRepoSaver).to receive(:new).and_call_original + + service.execute + end + it 'saves the lfs objects' do expect(Gitlab::ImportExport::LfsSaver).to receive(:new).and_call_original @@ -177,5 +184,20 @@ describe Projects::ImportExport::ExportService do expect { service.execute }.to raise_error(Gitlab::ImportExport::Error).with_message(expected_message) end end + + it_behaves_like 'measurable service' do + let(:base_log_data) do + { + class: described_class.name, + current_user: user.name, + project_full_path: project.full_path, + file_path: shared.export_path + } + end + + after do + service.execute(after_export_strategy) + end + end end end |