2012-10-25 06:13:01 -04:00
require " spec_helper "
2014-04-11 15:45:56 -04:00
describe API :: API , api : true do
2012-10-25 06:13:01 -04:00
include ApiHelpers
2013-04-25 10:15:33 -04:00
let ( :user ) { create ( :user ) }
2014-01-22 14:03:52 -05:00
let! ( :project ) { create ( :project , creator_id : user . id , namespace : user . namespace ) }
2014-04-03 05:05:21 -04:00
let! ( :merge_request ) { create ( :merge_request , :simple , author : user , assignee : user , source_project : project , target_project : project , title : " Test " ) }
2014-04-04 12:32:53 -04:00
let! ( :merge_request_closed ) { create ( :merge_request , state : " closed " , author : user , assignee : user , source_project : project , target_project : project , title : " Closed test " ) }
let! ( :merge_request_merged ) { create ( :merge_request , state : " merged " , author : user , assignee : user , source_project : project , target_project : project , title : " Merged test " ) }
2014-03-19 14:07:51 -04:00
let! ( :note ) { create ( :note_on_merge_request , author : user , project : project , noteable : merge_request , note : " a comment on a MR " ) }
2013-04-25 10:15:33 -04:00
before {
project . team << [ user , :reporters ]
}
2012-10-25 06:13:01 -04:00
describe " GET /projects/:id/merge_requests " do
context " when unauthenticated " do
it " should return authentication error " do
2013-09-21 17:46:36 -04:00
get api ( " /projects/ #{ project . id } /merge_requests " )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 401 )
2012-10-25 06:13:01 -04:00
end
end
context " when authenticated " do
2014-04-04 12:32:53 -04:00
it " should return an array of all merge_requests " do
2013-09-21 17:46:36 -04:00
get api ( " /projects/ #{ project . id } /merge_requests " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 3 )
expect ( json_response . last [ 'title' ] ) . to eq ( merge_request . title )
2012-10-25 06:13:01 -04:00
end
2015-02-06 01:00:54 -05:00
2014-04-04 12:32:53 -04:00
it " should return an array of all merge_requests " do
get api ( " /projects/ #{ project . id } /merge_requests?state " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 3 )
expect ( json_response . last [ 'title' ] ) . to eq ( merge_request . title )
2014-04-04 12:32:53 -04:00
end
2015-02-06 01:00:54 -05:00
2014-04-04 12:32:53 -04:00
it " should return an array of open merge_requests " do
get api ( " /projects/ #{ project . id } /merge_requests?state=opened " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 1 )
expect ( json_response . last [ 'title' ] ) . to eq ( merge_request . title )
2014-04-04 12:32:53 -04:00
end
2015-02-06 01:00:54 -05:00
2014-04-04 12:32:53 -04:00
it " should return an array of closed merge_requests " do
get api ( " /projects/ #{ project . id } /merge_requests?state=closed " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 2 )
expect ( json_response . second [ 'title' ] ) . to eq ( merge_request_closed . title )
expect ( json_response . first [ 'title' ] ) . to eq ( merge_request_merged . title )
2014-04-04 12:32:53 -04:00
end
2015-02-06 01:00:54 -05:00
2014-04-04 12:32:53 -04:00
it " should return an array of merged merge_requests " do
get api ( " /projects/ #{ project . id } /merge_requests?state=merged " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 1 )
expect ( json_response . first [ 'title' ] ) . to eq ( merge_request_merged . title )
2014-04-04 12:32:53 -04:00
end
2014-09-15 05:54:16 -04:00
context " with ordering " do
before do
@mr_later = mr_with_later_created_and_updated_at_time
@mr_earlier = mr_with_earlier_created_and_updated_at_time
end
it " should return an array of merge_requests in ascending order " do
get api ( " /projects/ #{ project . id } /merge_requests?sort=asc " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 3 )
expect ( json_response . last [ 'id' ] ) . to eq ( @mr_earlier . id )
expect ( json_response . first [ 'id' ] ) . to eq ( @mr_later . id )
2014-09-15 05:54:16 -04:00
end
2015-02-06 01:40:35 -05:00
2014-09-15 05:54:16 -04:00
it " should return an array of merge_requests in descending order " do
get api ( " /projects/ #{ project . id } /merge_requests?sort=desc " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 3 )
expect ( json_response . first [ 'id' ] ) . to eq ( @mr_later . id )
expect ( json_response . last [ 'id' ] ) . to eq ( @mr_earlier . id )
2014-09-15 05:54:16 -04:00
end
2015-02-06 01:40:35 -05:00
2014-09-15 05:54:16 -04:00
it " should return an array of merge_requests ordered by updated_at " do
get api ( " /projects/ #{ project . id } /merge_requests?order_by=updated_at " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 3 )
expect ( json_response . last [ 'id' ] ) . to eq ( @mr_earlier . id )
expect ( json_response . first [ 'id' ] ) . to eq ( @mr_later . id )
2014-09-15 05:54:16 -04:00
end
2015-02-06 01:40:35 -05:00
2014-09-15 05:54:16 -04:00
it " should return an array of merge_requests ordered by created_at " do
get api ( " /projects/ #{ project . id } /merge_requests?sort=created_at " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 3 )
expect ( json_response . last [ 'id' ] ) . to eq ( @mr_earlier . id )
expect ( json_response . first [ 'id' ] ) . to eq ( @mr_later . id )
2014-09-15 05:54:16 -04:00
end
2014-09-09 11:39:53 -04:00
end
2012-10-25 06:13:01 -04:00
end
end
describe " GET /projects/:id/merge_request/:merge_request_id " do
it " should return merge_request " do
2013-09-21 17:46:36 -04:00
get api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response [ 'title' ] ) . to eq ( merge_request . title )
expect ( json_response [ 'iid' ] ) . to eq ( merge_request . iid )
2012-10-25 06:13:01 -04:00
end
2013-02-13 09:48:52 -05:00
it " should return a 404 error if merge_request_id not found " do
2013-09-21 17:46:36 -04:00
get api ( " /projects/ #{ project . id } /merge_request/999 " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 404 )
2013-02-13 09:48:52 -05:00
end
2012-10-25 06:13:01 -04:00
end
2015-02-02 16:08:10 -05:00
describe 'GET /projects/:id/merge_request/:merge_request_id/changes' do
it 'should return the change information of the merge_request' do
get api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /changes " , user )
expect ( response . status ) . to eq 200
expect ( json_response [ 'changes' ] . size ) . to eq ( merge_request . diffs . size )
end
it 'returns a 404 when merge_request_id not found' do
get api ( " /projects/ #{ project . id } /merge_request/999/changes " , user )
expect ( response . status ) . to eq ( 404 )
end
end
2012-10-25 06:13:01 -04:00
describe " POST /projects/:id/merge_requests " do
2013-04-25 10:15:33 -04:00
context 'between branches projects' do
it " should return merge_request " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
2014-08-14 04:17:52 -04:00
title : 'Test merge_request' ,
source_branch : 'stable' ,
target_branch : 'master' ,
author : user ,
labels : 'label, label2'
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 201 )
expect ( json_response [ 'title' ] ) . to eq ( 'Test merge_request' )
expect ( json_response [ 'labels' ] ) . to eq ( [ 'label' , 'label2' ] )
2013-04-25 10:15:33 -04:00
end
2013-02-05 11:13:47 -05:00
2013-04-25 10:15:33 -04:00
it " should return 422 when source_branch equals target_branch " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
2014-01-22 14:59:09 -05:00
title : " Test merge_request " , source_branch : " master " , target_branch : " master " , author : user
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 422 )
2013-04-25 10:15:33 -04:00
end
2013-02-05 11:13:47 -05:00
2013-04-25 10:15:33 -04:00
it " should return 400 when source_branch is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
2014-01-22 14:59:09 -05:00
title : " Test merge_request " , target_branch : " master " , author : user
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-04-25 10:15:33 -04:00
end
2013-02-05 11:13:47 -05:00
2013-04-25 10:15:33 -04:00
it " should return 400 when target_branch is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
2014-01-22 14:59:09 -05:00
title : " Test merge_request " , source_branch : " stable " , author : user
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-04-25 10:15:33 -04:00
end
it " should return 400 when title is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
2014-01-22 14:59:09 -05:00
target_branch : 'master' , source_branch : 'stable'
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-04-25 10:15:33 -04:00
end
2014-08-14 04:17:52 -04:00
2014-08-20 14:34:55 -04:00
it 'should return 400 on invalid label names' do
2014-08-14 04:17:52 -04:00
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
title : 'Test merge_request' ,
source_branch : 'stable' ,
target_branch : 'master' ,
author : user ,
labels : 'label, ?'
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
expect ( json_response [ 'message' ] [ 'labels' ] [ '?' ] [ 'title' ] ) . to eq (
2014-08-20 14:34:55 -04:00
[ 'is invalid' ]
2015-02-12 13:17:35 -05:00
)
2014-08-14 04:17:52 -04:00
end
2014-08-18 14:09:09 -04:00
context 'with existing MR' do
before do
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
title : 'Test merge_request' ,
source_branch : 'stable' ,
target_branch : 'master' ,
author : user
@mr = MergeRequest . all . last
end
it 'should return 409 when MR already exists for source/target' do
expect do
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
title : 'New test merge_request' ,
source_branch : 'stable' ,
target_branch : 'master' ,
author : user
end . to change { MergeRequest . count } . by ( 0 )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 409 )
2014-08-18 14:09:09 -04:00
end
end
2013-02-05 11:13:47 -05:00
end
2013-02-27 09:07:42 -05:00
2013-04-25 10:15:33 -04:00
context 'forked projects' do
2014-04-03 05:05:21 -04:00
let! ( :user2 ) { create ( :user ) }
let! ( :fork_project ) { create ( :project , forked_from_project : project , namespace : user2 . namespace , creator_id : user2 . id ) }
let! ( :unrelated_project ) { create ( :project , namespace : create ( :user ) . namespace , creator_id : user2 . id ) }
2013-04-25 10:15:33 -04:00
before :each do | each |
fork_project . team << [ user2 , :reporters ]
end
it " should return merge_request " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
2014-03-10 15:39:29 -04:00
title : 'Test merge_request' , source_branch : " stable " , target_branch : " master " , author : user2 , target_project_id : project . id , description : 'Test description for Test merge_request'
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 201 )
expect ( json_response [ 'title' ] ) . to eq ( 'Test merge_request' )
expect ( json_response [ 'description' ] ) . to eq ( 'Test description for Test merge_request' )
2013-04-25 10:15:33 -04:00
end
it " should not return 422 when source_branch equals target_branch " do
2015-02-12 13:17:35 -05:00
expect ( project . id ) . not_to eq ( fork_project . id )
expect ( fork_project . forked? ) . to be_truthy
expect ( fork_project . forked_from_project ) . to eq ( project )
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
2014-01-22 14:59:09 -05:00
title : 'Test merge_request' , source_branch : " master " , target_branch : " master " , author : user2 , target_project_id : project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 201 )
expect ( json_response [ 'title' ] ) . to eq ( 'Test merge_request' )
2013-04-25 10:15:33 -04:00
end
it " should return 400 when source_branch is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
2014-01-22 14:59:09 -05:00
title : 'Test merge_request' , target_branch : " master " , author : user2 , target_project_id : project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-04-25 10:15:33 -04:00
end
it " should return 400 when target_branch is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
2014-01-22 14:59:09 -05:00
title : 'Test merge_request' , target_branch : " master " , author : user2 , target_project_id : project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-04-25 10:15:33 -04:00
end
it " should return 400 when title is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
2014-01-22 14:59:09 -05:00
target_branch : 'master' , source_branch : 'stable' , author : user2 , target_project_id : project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-04-25 10:15:33 -04:00
end
2014-08-18 14:09:09 -04:00
context 'when target_branch is specified' do
it 'should return 422 if not a forked project' do
post api ( " /projects/ #{ project . id } /merge_requests " , user ) ,
title : 'Test merge_request' ,
target_branch : 'master' ,
source_branch : 'stable' ,
author : user ,
target_project_id : fork_project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 422 )
2014-08-18 14:09:09 -04:00
end
2013-06-03 16:20:50 -04:00
2014-08-18 14:09:09 -04:00
it 'should return 422 if targeting a different fork' do
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
title : 'Test merge_request' ,
target_branch : 'master' ,
source_branch : 'stable' ,
author : user2 ,
target_project_id : unrelated_project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 422 )
2014-08-18 14:09:09 -04:00
end
2013-06-03 16:20:50 -04:00
end
it " should return 201 when target_branch is specified and for the same project " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ fork_project . id } /merge_requests " , user2 ) ,
2014-01-22 14:59:09 -05:00
title : 'Test merge_request' , target_branch : 'master' , source_branch : 'stable' , author : user2 , target_project_id : fork_project . id
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 201 )
2013-06-03 16:20:50 -04:00
end
2013-02-27 09:07:42 -05:00
end
2012-10-25 06:13:01 -04:00
end
2013-02-18 04:07:49 -05:00
describe " PUT /projects/:id/merge_request/:merge_request_id to close MR " do
it " should return merge_request " do
2013-09-21 17:46:36 -04:00
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " , user ) , state_event : " close "
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response [ 'state' ] ) . to eq ( 'closed' )
2013-02-18 04:07:49 -05:00
end
end
2014-05-13 04:01:40 -04:00
describe " PUT /projects/:id/merge_request/:merge_request_id/merge " do
it " should return merge_request in case of success " do
MergeRequest . any_instance . stub ( can_be_merged? : true , automerge! : true )
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /merge " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
2014-05-13 04:01:40 -04:00
end
it " should return 405 if branch can't be merged " do
MergeRequest . any_instance . stub ( can_be_merged? : false )
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /merge " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 405 )
expect ( json_response [ 'message' ] ) . to eq ( 'Branch cannot be merged' )
2013-02-18 04:07:49 -05:00
end
2014-05-13 06:20:10 -04:00
it " should return 405 if merge_request is not open " do
merge_request . close
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /merge " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 405 )
expect ( json_response [ 'message' ] ) . to eq ( '405 Method Not Allowed' )
2014-05-13 06:20:10 -04:00
end
it " should return 401 if user has no permissions to merge " do
user2 = create ( :user )
project . team << [ user2 , :reporter ]
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /merge " , user2 )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 401 )
expect ( json_response [ 'message' ] ) . to eq ( '401 Unauthorized' )
2014-05-13 06:20:10 -04:00
end
2013-02-18 04:07:49 -05:00
end
2012-10-25 06:13:01 -04:00
describe " PUT /projects/:id/merge_request/:merge_request_id " do
it " should return merge_request " do
2013-09-21 17:46:36 -04:00
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " , user ) , title : " New title "
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response [ 'title' ] ) . to eq ( 'New title' )
2012-10-25 06:13:01 -04:00
end
2013-02-05 11:13:47 -05:00
2014-03-10 15:39:29 -04:00
it " should return merge_request " do
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " , user ) , description : " New description "
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response [ 'description' ] ) . to eq ( 'New description' )
2014-03-10 15:39:29 -04:00
end
2013-02-05 11:13:47 -05:00
it " should return 422 when source_branch and target_branch are renamed the same " do
2013-09-21 17:46:36 -04:00
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " , user ) ,
2014-01-22 14:59:09 -05:00
source_branch : " master " , target_branch : " master "
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 422 )
2013-02-05 11:13:47 -05:00
end
it " should return merge_request with renamed target_branch " do
2013-09-21 17:46:36 -04:00
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " , user ) , target_branch : " wiki "
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response [ 'target_branch' ] ) . to eq ( 'wiki' )
2013-02-05 11:13:47 -05:00
end
2014-08-14 04:17:52 -04:00
2014-08-20 14:34:55 -04:00
it 'should return 400 on invalid label names' do
2014-08-14 04:17:52 -04:00
put api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } " ,
user ) ,
title : 'new issue' ,
labels : 'label, ?'
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
expect ( json_response [ 'message' ] [ 'labels' ] [ '?' ] [ 'title' ] ) . to eq ( [ 'is invalid' ] )
2014-08-14 04:17:52 -04:00
end
2012-10-25 06:13:01 -04:00
end
describe " POST /projects/:id/merge_request/:merge_request_id/comments " do
it " should return comment " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /comments " , user ) , note : " My comment "
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 201 )
expect ( json_response [ 'note' ] ) . to eq ( 'My comment' )
2012-10-25 06:13:01 -04:00
end
2013-02-05 12:37:44 -05:00
it " should return 400 if note is missing " do
2013-09-21 17:46:36 -04:00
post api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /comments " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 400 )
2013-02-05 12:37:44 -05:00
end
2013-02-06 08:59:47 -05:00
it " should return 404 if note is attached to non existent merge request " do
2014-08-18 14:09:09 -04:00
post api ( " /projects/ #{ project . id } /merge_request/404/comments " , user ) ,
note : 'My comment'
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 404 )
2013-02-06 08:59:47 -05:00
end
2012-10-25 06:13:01 -04:00
end
2014-03-19 14:07:51 -04:00
describe " GET :id/merge_request/:merge_request_id/comments " do
it " should return merge_request comments " do
get api ( " /projects/ #{ project . id } /merge_request/ #{ merge_request . id } /comments " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 200 )
expect ( json_response ) . to be_an Array
expect ( json_response . length ) . to eq ( 1 )
expect ( json_response . first [ 'note' ] ) . to eq ( " a comment on a MR " )
expect ( json_response . first [ 'author' ] [ 'id' ] ) . to eq ( user . id )
2014-03-19 14:07:51 -04:00
end
it " should return a 404 error if merge_request_id not found " do
get api ( " /projects/ #{ project . id } /merge_request/999/comments " , user )
2015-02-12 13:17:35 -05:00
expect ( response . status ) . to eq ( 404 )
2014-03-19 14:07:51 -04:00
end
end
2014-09-15 05:54:16 -04:00
def mr_with_later_created_and_updated_at_time
merge_request
merge_request . created_at += 1 . hour
merge_request . updated_at += 30 . minutes
merge_request . save
merge_request
end
def mr_with_earlier_created_and_updated_at_time
merge_request_closed
merge_request_closed . created_at -= 1 . hour
merge_request_closed . updated_at -= 30 . minutes
merge_request_closed . save
merge_request_closed
end
2012-10-25 06:13:01 -04:00
end