mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-18 17:16:08 +10:00
Merge branch 'close-open-ajax-issue' into 'master'
open and close issue via ajax request. With tests Close and Reopen issues with ajax request. See merge request !2164
This commit is contained in:
@@ -1,4 +1,14 @@
|
||||
%a.btn-close
|
||||
:css
|
||||
.hidden { display: none !important; }
|
||||
|
||||
.flash-container
|
||||
.flash-alert
|
||||
.flash-notice
|
||||
|
||||
.status-box.status-box-open Open
|
||||
.status-box.status-box-closed.hidden Closed
|
||||
%a.btn-close{"href" => "http://gitlab.com/issues/6/close"} Close
|
||||
%a.btn-reopen.hidden{"href" => "http://gitlab.com/issues/6/reopen"} Reopen
|
||||
|
||||
.detail-page-description
|
||||
.description.js-task-list-container
|
||||
|
||||
@@ -20,3 +20,89 @@ describe 'Issue', ->
|
||||
expect(req.data.issue.description).not.toBe(null)
|
||||
|
||||
$('.js-task-list-field').trigger('tasklist:changed')
|
||||
describe 'reopen/close issue', ->
|
||||
fixture.preload('issues_show.html')
|
||||
beforeEach ->
|
||||
fixture.load('issues_show.html')
|
||||
@issue = new Issue()
|
||||
it 'closes an issue', ->
|
||||
$.ajax = (obj) ->
|
||||
expect(obj.type).toBe('PUT')
|
||||
expect(obj.url).toBe('http://gitlab.com/issues/6/close')
|
||||
obj.success saved: true
|
||||
|
||||
$btnClose = $('a.btn-close')
|
||||
$btnReopen = $('a.btn-reopen')
|
||||
expect($btnReopen).toBeHidden()
|
||||
expect($btnClose.text()).toBe('Close')
|
||||
expect(typeof $btnClose.prop('disabled')).toBe('undefined')
|
||||
|
||||
$btnClose.trigger('click')
|
||||
|
||||
expect($btnReopen).toBeVisible()
|
||||
expect($btnClose).toBeHidden()
|
||||
expect($('div.status-box-closed')).toBeVisible()
|
||||
expect($('div.status-box-open')).toBeHidden()
|
||||
|
||||
it 'fails to closes an issue with success:false', ->
|
||||
|
||||
$.ajax = (obj) ->
|
||||
expect(obj.type).toBe('PUT')
|
||||
expect(obj.url).toBe('http://goesnowhere.nothing/whereami')
|
||||
obj.success saved: false
|
||||
|
||||
$btnClose = $('a.btn-close')
|
||||
$btnReopen = $('a.btn-reopen')
|
||||
$btnClose.attr('href','http://goesnowhere.nothing/whereami')
|
||||
expect($btnReopen).toBeHidden()
|
||||
expect($btnClose.text()).toBe('Close')
|
||||
expect(typeof $btnClose.prop('disabled')).toBe('undefined')
|
||||
|
||||
$btnClose.trigger('click')
|
||||
|
||||
expect($btnReopen).toBeHidden()
|
||||
expect($btnClose).toBeVisible()
|
||||
expect($('div.status-box-closed')).toBeHidden()
|
||||
expect($('div.status-box-open')).toBeVisible()
|
||||
expect($('div.flash-alert')).toBeVisible()
|
||||
expect($('div.flash-alert').text()).toBe('Unable to update this issue at this time.')
|
||||
|
||||
it 'fails to closes an issue with HTTP error', ->
|
||||
|
||||
$.ajax = (obj) ->
|
||||
expect(obj.type).toBe('PUT')
|
||||
expect(obj.url).toBe('http://goesnowhere.nothing/whereami')
|
||||
obj.error()
|
||||
|
||||
$btnClose = $('a.btn-close')
|
||||
$btnReopen = $('a.btn-reopen')
|
||||
$btnClose.attr('href','http://goesnowhere.nothing/whereami')
|
||||
expect($btnReopen).toBeHidden()
|
||||
expect($btnClose.text()).toBe('Close')
|
||||
expect(typeof $btnClose.prop('disabled')).toBe('undefined')
|
||||
|
||||
$btnClose.trigger('click')
|
||||
|
||||
expect($btnReopen).toBeHidden()
|
||||
expect($btnClose).toBeVisible()
|
||||
expect($('div.status-box-closed')).toBeHidden()
|
||||
expect($('div.status-box-open')).toBeVisible()
|
||||
expect($('div.flash-alert')).toBeVisible()
|
||||
expect($('div.flash-alert').text()).toBe('Unable to update this issue at this time.')
|
||||
|
||||
it 'reopens an issue', ->
|
||||
$.ajax = (obj) ->
|
||||
expect(obj.type).toBe('PUT')
|
||||
expect(obj.url).toBe('http://gitlab.com/issues/6/reopen')
|
||||
obj.success saved: true
|
||||
|
||||
$btnClose = $('a.btn-close')
|
||||
$btnReopen = $('a.btn-reopen')
|
||||
expect($btnReopen.text()).toBe('Reopen')
|
||||
|
||||
$btnReopen.trigger('click')
|
||||
|
||||
expect($btnReopen).toBeHidden()
|
||||
expect($btnClose).toBeVisible()
|
||||
expect($('div.status-box-open')).toBeVisible()
|
||||
expect($('div.status-box-closed')).toBeHidden()
|
||||
Reference in New Issue
Block a user