From 4fa4a2ce999c75aee1261815656e47f66d73c725 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Mon, 6 Mar 2017 21:01:18 +0900 Subject: [PATCH] Add controllers spec --- .../projects/builds_controller_spec.rb | 30 +++++++++++++++++++ .../merge_requests_controller_spec.rb | 20 +++++++++++++ .../projects/pipelines_controller_spec.rb | 17 +++++++++++ 3 files changed, 67 insertions(+) create mode 100644 spec/controllers/projects/builds_controller_spec.rb diff --git a/spec/controllers/projects/builds_controller_spec.rb b/spec/controllers/projects/builds_controller_spec.rb new file mode 100644 index 00000000000..3abf3fa1aeb --- /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 c310d830e81..433dbdb37bf 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 04bb5cbbd59..b8ab9933f33 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