summaryrefslogtreecommitdiff
path: root/spec/controllers
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-01-27 14:45:56 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-01-27 14:45:56 +0100
commit30c73d2d9fd6981b817fc5aec5ae6ea5792a7bbe (patch)
tree423c4b0cd0a3c234d027e3c69791189aea7b7f21 /spec/controllers
parent6b3f52b46c766e4b6bf085626783a9d2bc34d147 (diff)
downloadgitlab-ce-30c73d2d9fd6981b817fc5aec5ae6ea5792a7bbe.tar.gz
Add controller test for merge requests pipelines API
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/projects/merge_requests_controller_spec.rb33
1 files changed, 32 insertions, 1 deletions
diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb
index 7ea3ea4f376..158c066a8ab 100644
--- a/spec/controllers/projects/merge_requests_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests_controller_spec.rb
@@ -668,7 +668,38 @@ describe Projects::MergeRequestsController do
end
describe 'GET pipelines' do
- it_behaves_like "loads labels", :pipelines
+ before do
+ create(:ci_pipeline, project: merge_request.source_project,
+ ref: merge_request.source_branch,
+ sha: merge_request.diff_head_sha)
+ end
+
+ context 'when using HTML format' do
+ it_behaves_like "loads labels", :pipelines
+ end
+
+ context 'when using JSON format' do
+ before do
+ get :pipelines,
+ namespace_id: project.namespace.to_param,
+ project_id: project.to_param,
+ id: merge_request.iid,
+ format: :json
+ end
+
+ let(:json_response) { JSON.parse(response.body) }
+
+ it 'responds with a rendered HTML partial' do
+ expect(response)
+ .to render_template('projects/merge_requests/show/_pipelines')
+ expect(json_response).to have_key 'html'
+ end
+
+ it 'responds with serialized pipelines' do
+ expect(json_response).to have_key 'pipelines'
+ expect(json_response['pipelines']).not_to be_empty
+ end
+ end
end
describe 'GET conflicts' do