From 3baf3dc955dfaad2961bba548dab940b55dfa68e Mon Sep 17 00:00:00 2001 From: "Z.J. van de Weg" Date: Tue, 1 Aug 2017 14:34:11 +0200 Subject: 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 --- spec/features/projects_spec.rb | 6 +++--- spec/lib/gitlab/project_template_spec.rb | 19 +++++++++++++++++-- .../projects/create_from_template_service_spec.rb | 2 +- 3 files changed, 21 insertions(+), 6 deletions(-) (limited to 'spec') 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 -- cgit v1.2.1