summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorZ.J. van de Weg <git@zjvandeweg.nl>2017-08-01 14:34:11 +0200
committerZ.J. van de Weg <git@zjvandeweg.nl>2017-08-01 14:36:42 +0200
commit3baf3dc955dfaad2961bba548dab940b55dfa68e (patch)
treeda2800408de827b68899e402495f4020bc6b4e40 /spec
parenta853d3e944abb7a6d60ea24381028020166760d1 (diff)
downloadgitlab-ce-3baf3dc955dfaad2961bba548dab940b55dfa68e.tar.gz
Rename GitLabProjectImporterService and misc fixes
First round of review, main changes: - templates.title is human readable, #name will be passed around - GitLabProjectImporterService has been renamed
Diffstat (limited to 'spec')
-rw-r--r--spec/features/projects_spec.rb6
-rw-r--r--spec/lib/gitlab/project_template_spec.rb19
-rw-r--r--spec/services/projects/create_from_template_service_spec.rb2
3 files changed, 21 insertions, 6 deletions
diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb
index ab5042490ae..9385778e0cb 100644
--- a/spec/features/projects_spec.rb
+++ b/spec/features/projects_spec.rb
@@ -10,15 +10,15 @@ feature 'Project', feature: true do
visit new_project_path
end
- it "allows creation from the #{template.name} template" do
- fill_in("project_template_title", with: template.title)
+ it "allows creation from templates" do
+ fill_in("project_template_name", with: template.title)
fill_in("project_path", with: template.name)
page.within '#content-body' do
click_button "Create project"
end
- expect(page).to have_content 'Import'
+ expect(page).to have_content 'Import in progress'
end
end
diff --git a/spec/lib/gitlab/project_template_spec.rb b/spec/lib/gitlab/project_template_spec.rb
index d95dab748fe..0f68e87a41a 100644
--- a/spec/lib/gitlab/project_template_spec.rb
+++ b/spec/lib/gitlab/project_template_spec.rb
@@ -35,13 +35,28 @@ describe Gitlab::ProjectTemplate do
end
describe 'validate all templates' do
+ set(:admin) { create(:admin) }
+
described_class.all.each do |template|
it "#{template.name} has a valid archive" do
archive = template.archive_path
- logo = Rails.root.join("app/assets/images/#{template.logo_path}")
expect(File.exist?(archive)).to be(true)
- expect(File.exist?(logo)).to be(true)
+ end
+
+ context 'with valid parameters' do
+ it 'can be imported' do
+ params = {
+ template_name: template.name,
+ namespace_id: admin.namespace.id,
+ path: template.name
+ }
+
+ project = Projects::CreateFromTemplateService.new(admin, params).execute
+
+ expect(project).to be_valid
+ expect(project).to be_persisted
+ end
end
end
end
diff --git a/spec/services/projects/create_from_template_service_spec.rb b/spec/services/projects/create_from_template_service_spec.rb
index 81e88c0862d..9125b5bf161 100644
--- a/spec/services/projects/create_from_template_service_spec.rb
+++ b/spec/services/projects/create_from_template_service_spec.rb
@@ -12,7 +12,7 @@ describe Projects::CreateFromTemplateService do
subject { described_class.new(user, project_params) }
it 'calls the importer service' do
- expect_any_instance_of(Projects::GitlabProjectsImporterService).to receive(:execute)
+ expect_any_instance_of(Projects::GitlabProjectsImportService).to receive(:execute)
subject.execute
end