Commit 0e9c2e72 authored by Benedikt Huss's avatar Benedikt Huss

Feedback from stanhu

parent 655b2640
...@@ -22,6 +22,7 @@ v 8.8.0 (unreleased) ...@@ -22,6 +22,7 @@ v 8.8.0 (unreleased)
- API support for the 'since' and 'until' operators on commit requests (Paco Guzman) - API support for the 'since' and 'until' operators on commit requests (Paco Guzman)
- Fix Gravatar hint in user profile when Gravatar is disabled. !3988 (Artem Sidorenko) - Fix Gravatar hint in user profile when Gravatar is disabled. !3988 (Artem Sidorenko)
- Expire repository exists? and has_visible_content? caches after a push if necessary - Expire repository exists? and has_visible_content? caches after a push if necessary
- Merge request widget displays TeamCity build state and code coverage correctly again.
v 8.7.3 v 8.7.3
- Emails, Gitlab::Email::Message, Gitlab::Diff, and Premailer::Adapter::Nokogiri are now instrumented - Emails, Gitlab::Email::Message, Gitlab::Diff, and Premailer::Adapter::Nokogiri are now instrumented
......
...@@ -68,20 +68,18 @@ class @MergeRequestWidget ...@@ -68,20 +68,18 @@ class @MergeRequestWidget
$.getJSON @opts.ci_status_url, (data) => $.getJSON @opts.ci_status_url, (data) =>
@readyForCICheck = true @readyForCICheck = true
if @firstCICheck || @opts.ci_status is '' if data.status is ''
if @firstCICheck return
@firstCICheck = false
@opts.ci_status = data.status
@showCIStatus data.status
if data.coverage
@showCICoverage data.coverage
if data.status isnt @opts.ci_status and data.status? if @firstCiCheck || data.status isnt @opts.ci_status and data.status?
@opts.ci_status = data.status
@showCIStatus data.status @showCIStatus data.status
if data.coverage if data.coverage
@showCICoverage data.coverage @showCICoverage data.coverage
if showNotification # The first check should only update the UI, a notification
# should only be displayed on status changes
if showNotification and not @firstCiCheck
status = @ciLabelForStatus(data.status) status = @ciLabelForStatus(data.status)
if status is "preparing" if status is "preparing"
...@@ -104,8 +102,7 @@ class @MergeRequestWidget ...@@ -104,8 +102,7 @@ class @MergeRequestWidget
@close() @close()
Turbolinks.visit _this.opts.builds_path Turbolinks.visit _this.opts.builds_path
) )
@firstCiCheck = false
@opts.ci_status = data.status
showCIStatus: (state) -> showCIStatus: (state) ->
$('.ci_widget').hide() $('.ci_widget').hide()
......
...@@ -4,7 +4,21 @@ describe 'MergeRequestWidget', -> ...@@ -4,7 +4,21 @@ describe 'MergeRequestWidget', ->
beforeEach -> beforeEach ->
window.notifyPermissions = () -> window.notifyPermissions = () ->
@opts = {ci_status_url:"http://sampledomain.local/ci/getstatus",ci_status:""} window.notify = () ->
@opts = {
ci_status_url:"http://sampledomain.local/ci/getstatus",
ci_status:"",
ci_message: {
normal: "Build {{status}} for \"{{title}}\"",
preparing: "{{status}} build for \"{{title}}\""
},
ci_title: {
preparing: "{{status}} build",
normal: "Build {{status}}"
},
gitlab_icon:"gitlab_logo.png",
builds_path:"http://sampledomain.local/sampleBuildsPath"
}
@class = new MergeRequestWidget(@opts) @class = new MergeRequestWidget(@opts)
@ciStatusData = {"title":"Sample MR title","sha":"12a34bc5","status":"success","coverage":98} @ciStatusData = {"title":"Sample MR title","sha":"12a34bc5","status":"success","coverage":98}
...@@ -25,11 +39,11 @@ describe 'MergeRequestWidget', -> ...@@ -25,11 +39,11 @@ describe 'MergeRequestWidget', ->
it 'should call showCICoverage when the coverage rate is set', -> it 'should call showCICoverage when the coverage rate is set', ->
spy = spyOn(@class, 'showCICoverage').and.stub() spy = spyOn(@class, 'showCICoverage').and.stub()
@class.getCIStatus(true) @class.getCIStatus(false)
expect(spy).toHaveBeenCalledWith(@ciStatusData.coverage) expect(spy).toHaveBeenCalledWith(@ciStatusData.coverage)
it 'should not call showCICoverage when the coverage rate is not set', -> it 'should not call showCICoverage when the coverage rate is not set', ->
@ciStatusData.coverage = null @ciStatusData.coverage = null
spy = spyOn(@class, 'showCICoverage').and.stub() spy = spyOn(@class, 'showCICoverage').and.stub()
@class.getCIStatus(true) @class.getCIStatus(false)
expect(spy).not.toHaveBeenCalled() expect(spy).not.toHaveBeenCalled()
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