Commit 1d51bc7d authored by Stan Hu's avatar Stan Hu

Merge branch '22286-fix-missing-status' into 'master'

Return created status

## What does this MR do?
Properly handles status created which results in 500 when viewing Merge Request pipelines.

## Are there points in the code the reviewer needs to double check?

## Why was this MR needed?

## Screenshots (if relevant)

## Does this MR meet the acceptance criteria?

- Tests
  - [x] Added for this feature/bug
  - [x] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

## What are the relevant issue numbers?
Closes #22286

See merge request !6404
parents f3743798 bf41ab26
...@@ -20,7 +20,7 @@ module HasStatus ...@@ -20,7 +20,7 @@ module HasStatus
skipped = scope.skipped.select('count(*)').to_sql skipped = scope.skipped.select('count(*)').to_sql
deduce_status = "(CASE deduce_status = "(CASE
WHEN (#{builds})=(#{created}) THEN NULL WHEN (#{builds})=(#{created}) THEN 'created'
WHEN (#{builds})=(#{skipped}) THEN 'skipped' WHEN (#{builds})=(#{skipped}) THEN 'skipped'
WHEN (#{builds})=(#{success})+(#{ignored})+(#{skipped}) THEN 'success' WHEN (#{builds})=(#{success})+(#{ignored})+(#{skipped}) THEN 'success'
WHEN (#{builds})=(#{created})+(#{pending})+(#{skipped}) THEN 'pending' WHEN (#{builds})=(#{created})+(#{pending})+(#{skipped}) THEN 'pending'
......
...@@ -110,7 +110,7 @@ describe API::API, api: true do ...@@ -110,7 +110,7 @@ describe API::API, api: true do
get api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}", user) get api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}", user)
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
expect(json_response['status']).to be_nil expect(json_response['status']).to eq("created")
end end
end end
......
...@@ -9,11 +9,13 @@ describe 'projects/pipelines/show' do ...@@ -9,11 +9,13 @@ describe 'projects/pipelines/show' do
before do before do
controller.prepend_view_path('app/views/projects') controller.prepend_view_path('app/views/projects')
create_build('build', 0, 'build') create_build('build', 0, 'build', :success)
create_build('test', 1, 'rspec 0:2') create_build('test', 1, 'rspec 0:2', :pending)
create_build('test', 1, 'rspec 1:2') create_build('test', 1, 'rspec 1:2', :running)
create_build('test', 1, 'audit') create_build('test', 1, 'spinach 0:2', :created)
create_build('deploy', 2, 'production') create_build('test', 1, 'spinach 1:2', :created)
create_build('test', 1, 'audit', :created)
create_build('deploy', 2, 'production', :created)
create(:generic_commit_status, pipeline: pipeline, stage: 'external', name: 'jenkins', stage_idx: 3) create(:generic_commit_status, pipeline: pipeline, stage: 'external', name: 'jenkins', stage_idx: 3)
...@@ -37,6 +39,7 @@ describe 'projects/pipelines/show' do ...@@ -37,6 +39,7 @@ describe 'projects/pipelines/show' do
# builds # builds
expect(rendered).to have_text('rspec') expect(rendered).to have_text('rspec')
expect(rendered).to have_text('spinach')
expect(rendered).to have_text('rspec 0:2') expect(rendered).to have_text('rspec 0:2')
expect(rendered).to have_text('production') expect(rendered).to have_text('production')
expect(rendered).to have_text('jenkins') expect(rendered).to have_text('jenkins')
...@@ -44,7 +47,7 @@ describe 'projects/pipelines/show' do ...@@ -44,7 +47,7 @@ describe 'projects/pipelines/show' do
private private
def create_build(stage, stage_idx, name) def create_build(stage, stage_idx, name, status)
create(:ci_build, pipeline: pipeline, stage: stage, stage_idx: stage_idx, name: name) create(:ci_build, pipeline: pipeline, stage: stage, stage_idx: stage_idx, name: name, status: status)
end end
end end
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