Skip to content
Snippets Groups Projects
Commit f7164201 authored by Jacob Schatz's avatar Jacob Schatz
Browse files

adds tests (and passes them) for ajax open and close merge requests.

parent cbdc8dd4
No related branches found
No related tags found
2 merge requests!2399Comment and close button does not submit comment,!2240adds ajax to bottom discussion buttons. Now submits issue and closes via ajax.
Pipeline #
%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/merge_requests/6/close"} Close
%a.btn-reopen.hidden{"href" => "http://gitlab.com/merge_requests/6/reopen"} Reopen
 
.detail-page-description
.description.js-task-list-container
Loading
Loading
Loading
Loading
@@ -44,7 +44,7 @@ describe 'reopen/close issue', ->
expect($('div.status-box-closed')).toBeVisible()
expect($('div.status-box-open')).toBeHidden()
 
it 'fails to closes an issue with success:false', ->
it 'fails to close an issue with success:false', ->
 
$.ajax = (obj) ->
expect(obj.type).toBe('PUT')
Loading
Loading
Loading
Loading
@@ -21,3 +21,91 @@ describe 'MergeRequest', ->
expect(req.data.merge_request.description).not.toBe(null)
 
$('.js-task-list-field').trigger('tasklist:changed')
describe 'reopen/close merge request', ->
fixture.preload('merge_requests_show.html')
beforeEach ->
fixture.load('merge_requests_show.html')
@merge_request = new MergeRequest({})
it 'closes a merge request', ->
$.ajax = (obj) ->
expect(obj.type).toBe('PUT')
expect(obj.url).toBe('http://gitlab.com/merge_requests/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 close a merge request 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 merge request 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 merge request at this time.')
it 'reopens a merge request', ->
$.ajax = (obj) ->
expect(obj.type).toBe('PUT')
expect(obj.url).toBe('http://gitlab.com/merge_requests/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()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment