Commit f7014cd5 authored by Lin Jen-Shin's avatar Lin Jen-Shin

Add a test to make sure it's not auto-canceling

whenever the feature is disabled in the project.
parent e258e6f1
...@@ -21,6 +21,12 @@ describe Ci::CreatePipelineService, services: true do ...@@ -21,6 +21,12 @@ describe Ci::CreatePipelineService, services: true do
context 'valid params' do context 'valid params' do
let(:pipeline) { execute_service } let(:pipeline) { execute_service }
let(:pipeline_on_previous_commit) do
execute_service(
after: previous_commit_sha_from_ref('master')
)
end
it { expect(pipeline).to be_kind_of(Ci::Pipeline) } it { expect(pipeline).to be_kind_of(Ci::Pipeline) }
it { expect(pipeline).to be_valid } it { expect(pipeline).to be_valid }
it { expect(pipeline).to eq(project.pipelines.last) } it { expect(pipeline).to eq(project.pipelines.last) }
...@@ -29,20 +35,10 @@ describe Ci::CreatePipelineService, services: true do ...@@ -29,20 +35,10 @@ describe Ci::CreatePipelineService, services: true do
it { expect(pipeline.builds.first).to be_kind_of(Ci::Build) } it { expect(pipeline.builds.first).to be_kind_of(Ci::Build) }
context 'auto-cancel enabled' do context 'auto-cancel enabled' do
let(:pipeline_on_previous_commit) do
execute_service(
after: previous_commit_sha_from_ref('master')
)
end
before do before do
project.update(auto_cancel_pending_pipelines: 'enabled') project.update(auto_cancel_pending_pipelines: 'enabled')
end end
def previous_commit_sha_from_ref(ref)
project.commit(ref).parent.sha
end
it 'does not cancel HEAD pipeline' do it 'does not cancel HEAD pipeline' do
pipeline pipeline
pipeline_on_previous_commit pipeline_on_previous_commit
...@@ -81,6 +77,24 @@ describe Ci::CreatePipelineService, services: true do ...@@ -81,6 +77,24 @@ describe Ci::CreatePipelineService, services: true do
expect(pending_pipeline.reload).to have_attributes(status: 'pending', auto_canceled_by_id: nil) expect(pending_pipeline.reload).to have_attributes(status: 'pending', auto_canceled_by_id: nil)
end end
end end
context 'auto-cancel disabled' do
before do
project.update(auto_cancel_pending_pipelines: 'disabled')
end
it 'does not auto cancel pending non-HEAD pipelines' do
pipeline_on_previous_commit
pipeline
expect(pipeline_on_previous_commit.reload)
.to have_attributes(status: 'pending', auto_canceled_by_id: nil)
end
end
def previous_commit_sha_from_ref(ref)
project.commit(ref).parent.sha
end
end end
context "skip tag if there is no build for it" do context "skip tag if there is no build for it" do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment