diff options
-rw-r--r-- | app/controllers/projects_controller.rb | 2 | ||||
-rw-r--r-- | lib/api/projects.rb | 1 | ||||
-rw-r--r-- | spec/factories/job.rb | 6 | ||||
-rw-r--r-- | spec/factories/projects.rb | 4 | ||||
-rw-r--r-- | spec/features/projects_spec.rb | 2 | ||||
-rw-r--r-- | spec/models/build_spec.rb | 6 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/create_builds_service_spec.rb (renamed from spec/services/create_build_service_spec.rb) | 10 |
8 files changed, 21 insertions, 12 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 9b1efb5..f21578f 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -75,7 +75,7 @@ class ProjectsController < ApplicationController def build @builds = CreateBuildsService.new.execute(@project, params.dup) - if @builds.any? + if @builds.any? && @builds.any?(&:persisted?) head 201 else head 400 diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 5f4bfcf..d6cd689 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -72,6 +72,7 @@ module API } project = Project.new(filtered_params) + project.build_default_job if project.save present project, :with => Entities::Project diff --git a/spec/factories/job.rb b/spec/factories/job.rb new file mode 100644 index 0000000..93f2ff7 --- /dev/null +++ b/spec/factories/job.rb @@ -0,0 +1,6 @@ +FactoryGirl.define do + factory :job do + name 'rspec' + commands 'bundle exec rspec spec' + end +end diff --git a/spec/factories/projects.rb b/spec/factories/projects.rb index b28b4ab..c995fff 100644 --- a/spec/factories/projects.rb +++ b/spec/factories/projects.rb @@ -36,5 +36,9 @@ FactoryGirl.define do factory :project do token 'iPWx6WM4lhHNedGfBpPJNP' end + + before :create do |project| + project.build_default_job + end end end diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb index 7a337ef..c6320b7 100644 --- a/spec/features/projects_spec.rb +++ b/spec/features/projects_spec.rb @@ -21,7 +21,7 @@ describe "Projects" do end it { page.should have_content @project.name } - it { page.should have_content 'All builds' } + it { page.should have_content 'All commits' } end describe "GET /projects/:id/edit" do diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb index 6e88f31..d1a3a16 100644 --- a/spec/models/build_spec.rb +++ b/spec/models/build_spec.rb @@ -141,12 +141,6 @@ describe Build do end end - describe :commands do - subject { build.commands } - - it { should eq(commit.project.scripts) } - end - describe :timeout do subject { build.timeout } diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 0e29b5c..a0563f9 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -112,6 +112,8 @@ describe Project do let(:project_dump) { File.read(Rails.root.join('spec/support/gitlab_stubs/raw_project.yml')) } let(:parsed_project) { Project.parse(project_dump) } + before { parsed_project.build_default_job } + it { parsed_project.should be_valid } it { parsed_project.should be_kind_of(Project) } it { parsed_project.name.should eq("GitLab / api.gitlab.org") } diff --git a/spec/services/create_build_service_spec.rb b/spec/services/create_builds_service_spec.rb index 11b4588..4c79988 100644 --- a/spec/services/create_build_service_spec.rb +++ b/spec/services/create_builds_service_spec.rb @@ -1,12 +1,13 @@ require 'spec_helper' -describe CreateBuildService do - let(:service) { CreateBuildService.new } +describe CreateBuildsService do + let(:service) { CreateBuildsService.new } let(:project) { FactoryGirl.create(:project) } describe :execute do context 'valid params' do - let(:build) { service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312') } + let(:builds) { service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312') } + let(:build) { builds.first } it { build.should be_kind_of(Build) } it { build.should be_pending } @@ -16,7 +17,8 @@ describe CreateBuildService do end context 'without params' do - let(:build) { service.execute(project, {}) } + let(:builds) { service.execute(project, {}) } + let(:build) { builds.first } it { build.should be_kind_of(Build) } it { build.should be_pending } |