From 4f3dc19aafdd71aedb6b086da5707315a9a51ace Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Thu, 4 May 2017 21:01:15 +0200 Subject: Add specs for new pipeline action for JSON format --- .../projects/pipelines_controller_spec.rb | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'spec/controllers/projects/pipelines_controller_spec.rb') diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb index b9bacc5a64a..1b47d163c0b 100644 --- a/spec/controllers/projects/pipelines_controller_spec.rb +++ b/spec/controllers/projects/pipelines_controller_spec.rb @@ -5,6 +5,8 @@ describe Projects::PipelinesController do let(:project) { create(:empty_project, :public) } before do + project.add_developer(user) + sign_in(user) end @@ -87,4 +89,38 @@ describe Projects::PipelinesController do expect(json_response['favicon']).to eq "/assets/ci_favicons/#{status.favicon}.ico" end end + + describe 'POST retry.json' do + let!(:pipeline) { create(:ci_pipeline, :failed, project: project) } + let!(:build) { create(:ci_build, :failed, pipeline: pipeline) } + + before do + post :retry, namespace_id: project.namespace, + project_id: project, + id: pipeline.id, + format: :json + end + + it 'retries a pipeline without returning any content' do + expect(response).to have_http_status(:no_content) + expect(build.reload).to be_retried + end + end + + describe 'POST cancel.json' do + let!(:pipeline) { create(:ci_pipeline, project: project) } + let!(:build) { create(:ci_build, :running, pipeline: pipeline) } + + before do + post :cancel, namespace_id: project.namespace, + project_id: project, + id: pipeline.id, + format: :json + end + + it 'cancels a pipeline without returning any content' do + expect(response).to have_http_status(:no_content) + expect(pipeline.reload).to be_canceled + end + end end -- cgit v1.2.1