2016-09-02 02:49:40 -04:00
require 'spec_helper'
describe 'CycleAnalytics#plan' , feature : true do
let ( :project ) { create ( :project ) }
let ( :from_date ) { 10 . days . ago }
let ( :user ) { create ( :user , :admin ) }
subject { CycleAnalytics . new ( project , from : from_date ) }
2016-09-02 08:03:32 -04:00
generate_cycle_analytics_spec ( phase : :plan ,
2016-09-20 08:51:59 -04:00
data_fn : - > ( context ) do
{
issue : context . create ( :issue , project : context . project ) ,
branch_name : context . random_git_name
}
end ,
2016-09-02 08:03:32 -04:00
start_time_conditions : [ [ " issue associated with a milestone " , - > ( context , data ) { data [ :issue ] . update ( milestone : context . create ( :milestone , project : context . project ) ) } ] ,
[ " list label added to issue " , - > ( context , data ) { data [ :issue ] . update ( label_ids : [ context . create ( :label , lists : [ context . create ( :list ) ] ) . id ] ) } ] ] ,
2016-09-20 01:47:36 -04:00
end_time_conditions : [ [ " issue mentioned in a commit " , - > ( context , data ) { context . create_commit_referencing_issue ( data [ :issue ] , branch_name : data [ :branch_name ] ) } ] ] ,
post_fn : - > ( context , data ) do
context . create_merge_request_closing_issue ( data [ :issue ] , source_branch : data [ :branch_name ] )
context . merge_merge_requests_closing_issue ( data [ :issue ] )
context . deploy_master
end )
2016-09-02 02:49:40 -04:00
2016-09-02 08:03:32 -04:00
context " when a regular label (instead of a list label) is added to the issue " do
it " returns nil " do
2016-09-20 01:47:36 -04:00
branch_name = random_git_name
2016-09-02 08:03:32 -04:00
label = create ( :label )
issue = create ( :issue , project : project )
issue . update ( label_ids : [ label . id ] )
2016-09-20 01:47:36 -04:00
create_commit_referencing_issue ( issue , branch_name : branch_name )
create_merge_request_closing_issue ( issue , source_branch : branch_name )
merge_merge_requests_closing_issue ( issue )
deploy_master
2016-09-02 02:49:40 -04:00
2016-09-02 08:03:32 -04:00
expect ( subject . issue ) . to be_nil
2016-09-02 02:49:40 -04:00
end
end
end