diff --git a/spec/controllers/projects/builds_controller_spec.rb b/spec/controllers/projects/builds_controller_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..3abf3fa1aeb99ec41d9e9ad08d7111f23c92d03a --- /dev/null +++ b/spec/controllers/projects/builds_controller_spec.rb @@ -0,0 +1,30 @@ +require 'spec_helper' + +describe Projects::BuildsController do + include ApiHelpers + + let(:user) { create(:user) } + let(:project) { create(:empty_project, :public) } + + before do + sign_in(user) + end + + describe 'GET status.json' do + context 'when accessing status' do + before do + pipeline = create(:ci_pipeline, project: project) + build = create(:ci_build, pipeline: pipeline, status: 'success') + get :status, namespace_id: project.namespace, + project_id: project, + id: build.id, + format: :json + end + + it 'returns pipeline status via BuildSerializer' do + expect(response).to have_http_status(:ok) + expect(json_response['details']['status']['text']).to eq 'passed' + end + end + end +end diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index c310d830e817ebefa3fc2fdf1bff3f460308731d..433dbdb37bf293e3f80c45da844eb678d7d2f914 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -1178,4 +1178,24 @@ describe Projects::MergeRequestsController do end end end + + describe 'GET status.json' do + context 'when accessing status' do + before do + create(:ci_pipeline, project: merge_request.source_project, + ref: merge_request.source_branch, + sha: merge_request.diff_head_sha, + status: 'success') + get :status, namespace_id: project.namespace, + project_id: project, + id: merge_request.iid, + format: :json + end + + it 'returns pipeline status via PipelineSerializer' do + expect(response).to have_http_status(:ok) + expect(json_response['details']['status']['text']).to eq 'passed' + end + end + end end diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb index 04bb5cbbd591a59e13e54b2cdff3aa3762e11d35..b8ab9933f33c94f5369d2919c4ba613ff7826cb8 100644 --- a/spec/controllers/projects/pipelines_controller_spec.rb +++ b/spec/controllers/projects/pipelines_controller_spec.rb @@ -69,4 +69,21 @@ describe Projects::PipelinesController do format: :json end end + + describe 'GET status.json' do + context 'when accessing status' do + before do + pipeline = create(:ci_pipeline, project: project, status: 'success') + get :status, namespace_id: project.namespace, + project_id: project, + id: pipeline.id, + format: :json + end + + it 'returns pipeline status via PipelineSerializer' do + expect(response).to have_http_status(:ok) + expect(json_response['details']['status']['text']).to eq 'passed' + end + end + end end