summaryrefslogtreecommitdiff
path: root/spec/services/projects/create_from_template_service_spec.rb
diff options
context:
space:
mode:
authorFrancisco Javier López <fjlopez@gitlab.com>2018-07-20 19:25:10 -0400
committerFrancisco Javier López <fjlopez@gitlab.com>2018-07-20 19:25:10 -0400
commit38eab74483e728018a129c36d4064313f5d152f6 (patch)
treef946438bc3085b175fe20e08ebf0773cfbfdb782 /spec/services/projects/create_from_template_service_spec.rb
parent334ee10727540c8e16d47075781564fd21e8a9cb (diff)
downloadgitlab-ce-38eab74483e728018a129c36d4064313f5d152f6.tar.gz
EE Port
Diffstat (limited to 'spec/services/projects/create_from_template_service_spec.rb')
-rw-r--r--spec/services/projects/create_from_template_service_spec.rb33
1 files changed, 31 insertions, 2 deletions
diff --git a/spec/services/projects/create_from_template_service_spec.rb b/spec/services/projects/create_from_template_service_spec.rb
index 9aa9237d875..40c8af87642 100644
--- a/spec/services/projects/create_from_template_service_spec.rb
+++ b/spec/services/projects/create_from_template_service_spec.rb
@@ -2,10 +2,11 @@ require 'spec_helper'
describe Projects::CreateFromTemplateService do
let(:user) { create(:user) }
+ let(:template_name) { 'rails' }
let(:project_params) do
{
path: user.to_param,
- template_name: 'rails',
+ template_name: template_name,
description: 'project description',
visibility_level: Gitlab::VisibilityLevel::PUBLIC
}
@@ -14,7 +15,10 @@ describe Projects::CreateFromTemplateService do
subject { described_class.new(user, project_params) }
it 'calls the importer service' do
- expect_any_instance_of(Projects::GitlabProjectsImportService).to receive(:execute)
+ import_service_double = double
+
+ allow(Projects::GitlabProjectsImportService).to receive(:new).and_return(import_service_double)
+ expect(import_service_double).to receive(:execute)
subject.execute
end
@@ -26,6 +30,31 @@ describe Projects::CreateFromTemplateService do
expect(project.import_scheduled?).to be(true)
end
+ context 'when template is not present' do
+ let(:template_name) { 'non_existent' }
+ let(:project) { subject.execute }
+
+ before do
+ expect(project).to be_saved
+ end
+
+ it 'does not set import set import type' do
+ expect(project.import_type).to be nil
+ end
+
+ it 'does not set import set import source' do
+ expect(project.import_source).to be nil
+ end
+
+ it 'is not scheduled' do
+ expect(project.import_scheduled?).to be(false)
+ end
+
+ it 'repository is empty' do
+ expect(project.repository.empty?).to be(true)
+ end
+ end
+
context 'the result project' do
before do
Sidekiq::Testing.inline! do