From cfd7c44513c1c04f170c6956eba9f76d2fd5c811 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Wed, 20 Jul 2016 01:34:54 +0800 Subject: [PATCH] Move Project#latest_successful_builds_for to project_spec.rb Feedback: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5347#note_13173313 --- spec/models/build_spec.rb | 34 ----------------------------- spec/models/project_spec.rb | 43 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb index d01a066f4f6..95573f0a419 100644 --- a/spec/models/build_spec.rb +++ b/spec/models/build_spec.rb @@ -674,40 +674,6 @@ describe Ci::Build, models: true do end end - describe 'Project#latest_successful_builds_for' do - let!(:build) do - create(:ci_build, :artifacts, :success, pipeline: pipeline) - end - - context 'with succeed pipeline' do - it 'returns builds for ref for default_branch' do - builds = project.latest_successful_builds_for - - expect(builds).to contain_exactly(build) - end - - it 'returns empty relation if the build cannot be found' do - builds = project.latest_successful_builds_for('TAIL') - - expect(builds).to be_kind_of(ActiveRecord::Relation) - expect(builds).to be_empty - end - end - - context 'with pending pipeline' do - before do - pipeline.update(status: 'pending') - end - - it 'returns empty relation' do - builds = project.latest_successful_builds_for - - expect(builds).to be_kind_of(ActiveRecord::Relation) - expect(builds).to be_empty - end - end - end - describe '#manual?' do before do build.update(when: value) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 53b420d808f..b03fdebf8e7 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -1114,6 +1114,49 @@ describe Project, models: true do end end + describe '#latest_successful_builds_for' do + let(:project) { create(:project) } + + let(:pipeline) do + create(:ci_pipeline, project: project, + sha: project.commit.id, + ref: project.default_branch, + status: 'success') + end + + let!(:build) do + create(:ci_build, :artifacts, :success, pipeline: pipeline) + end + + context 'with succeed pipeline' do + it 'returns builds for ref for default_branch' do + builds = project.latest_successful_builds_for + + expect(builds).to contain_exactly(build) + end + + it 'returns empty relation if the build cannot be found' do + builds = project.latest_successful_builds_for('TAIL') + + expect(builds).to be_kind_of(ActiveRecord::Relation) + expect(builds).to be_empty + end + end + + context 'with pending pipeline' do + before do + pipeline.update(status: 'pending') + end + + it 'returns empty relation' do + builds = project.latest_successful_builds_for + + expect(builds).to be_kind_of(ActiveRecord::Relation) + expect(builds).to be_empty + end + end + end + describe '.where_paths_in' do context 'without any paths' do it 'returns an empty relation' do