2017-07-26 08:21:53 -04:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe Projects::CreateFromTemplateService do
|
|
|
|
let(:user) { create(:user) }
|
|
|
|
let(:project_params) do
|
|
|
|
{
|
2018-02-14 06:50:28 -05:00
|
|
|
path: user.to_param,
|
|
|
|
template_name: 'rails',
|
|
|
|
description: 'project description',
|
|
|
|
visibility_level: Gitlab::VisibilityLevel::PRIVATE
|
2017-07-26 08:21:53 -04:00
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
subject { described_class.new(user, project_params) }
|
|
|
|
|
|
|
|
it 'calls the importer service' do
|
2017-08-01 08:34:11 -04:00
|
|
|
expect_any_instance_of(Projects::GitlabProjectsImportService).to receive(:execute)
|
2017-07-26 08:21:53 -04:00
|
|
|
|
|
|
|
subject.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'returns the project thats created' do
|
|
|
|
project = subject.execute
|
|
|
|
|
|
|
|
expect(project).to be_saved
|
2017-08-07 08:21:28 -04:00
|
|
|
expect(project.scheduled?).to be(true)
|
2018-02-14 06:50:28 -05:00
|
|
|
expect(project.description).to match('project description')
|
|
|
|
expect(project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
|
2017-07-26 08:21:53 -04:00
|
|
|
end
|
|
|
|
end
|