mirror of
https://github.com/redmine/redmine.git
synced 2025-11-13 16:56:00 +01:00
Send individual emails for each mail recipient (#26791).
We are creating multipe mails per class notification event, one per recipient, wrapped in a Mailer::MultiMessage object to send them all at once. We keep the existing interface of all class methods intended to be used by external code the same as they were before, with one exception: We provide additional recipient addresses in options[:recipients] for Mailer.security_notification. Since the first-class recipients have to be users to render individual mails for them, additional recipient addresses have to be provided with some other channel. By providing additional recipients in options[:recipients], we can solve the use-case for address change notifications for users, which probably is the only real use-case for having to use a plain email address instead of a User as a notification recipient. Patch by Holger Just and Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@17583 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -152,7 +152,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:f => ['tracker_id'],
|
||||
:op => {
|
||||
'tracker_id' => '='
|
||||
},
|
||||
},
|
||||
:v => {
|
||||
'tracker_id' => ['1']
|
||||
}
|
||||
@@ -253,10 +253,10 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:f => [filter_name],
|
||||
:op => {
|
||||
filter_name => '='
|
||||
},
|
||||
},
|
||||
:v => {
|
||||
filter_name => ['Foo']
|
||||
},
|
||||
},
|
||||
:c => ['project']
|
||||
}
|
||||
assert_response :success
|
||||
@@ -1459,7 +1459,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:f => ['start_date'],
|
||||
:op => {
|
||||
:start_date => '='
|
||||
},
|
||||
},
|
||||
:format => 'csv'
|
||||
}
|
||||
assert_equal 'text/csv', @response.content_type
|
||||
@@ -2678,7 +2678,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:tracker_id => 3,
|
||||
:description => 'Prefilled',
|
||||
:custom_field_values => {
|
||||
'2' => 'Custom field value'}
|
||||
'2' => 'Custom field value'}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2802,7 +2802,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
assert !t.disabled_core_fields.include?('parent_issue_id')
|
||||
|
||||
get :new, :params => {
|
||||
:project_id => 1, issue: { parent_issue_id: 1
|
||||
:project_id => 1, issue: { parent_issue_id: 1
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -2812,7 +2812,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
t.save!
|
||||
assert t.disabled_core_fields.include?('parent_issue_id')
|
||||
get :new, :params => {
|
||||
:project_id => 1, issue: { parent_issue_id: 1
|
||||
:project_id => 1, issue: { parent_issue_id: 1
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -2870,7 +2870,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:issue => {
|
||||
:tracker_id => 2,
|
||||
:status_id => 1
|
||||
},
|
||||
},
|
||||
:was_default_status => 1
|
||||
}
|
||||
assert_response :success
|
||||
@@ -2889,7 +2889,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:issue => {
|
||||
:project_id => 1,
|
||||
:fixed_version_id => ''
|
||||
},
|
||||
},
|
||||
:form_update_triggered_by => 'issue_project_id'
|
||||
}
|
||||
assert_response :success
|
||||
@@ -2917,7 +2917,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:start_date => '2010-11-07',
|
||||
:estimated_hours => '',
|
||||
:custom_field_values => {
|
||||
'2' => 'Value for field 2'}
|
||||
'2' => 'Value for field 2'}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -2976,7 +2976,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => 5,
|
||||
:estimated_hours => '',
|
||||
:custom_field_values => {
|
||||
'2' => 'Value for field 2'}
|
||||
'2' => 'Value for field 2'}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3002,7 +3002,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => 5,
|
||||
:estimated_hours => '',
|
||||
:custom_field_values => {
|
||||
'2' => 'Value for field 2'}
|
||||
'2' => 'Value for field 2'}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3023,7 +3023,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:tracker_id => 3,
|
||||
:subject => 'This is first issue',
|
||||
:priority_id => 5
|
||||
},
|
||||
},
|
||||
:continue => ''
|
||||
}
|
||||
end
|
||||
@@ -3065,7 +3065,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:description => 'This is the description',
|
||||
:priority_id => 5,
|
||||
:custom_field_values => {
|
||||
'1' => ['', 'MySQL', 'Oracle']}
|
||||
'1' => ['', 'MySQL', 'Oracle']}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3088,7 +3088,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:description => 'This is the description',
|
||||
:priority_id => 5,
|
||||
:custom_field_values => {
|
||||
'1' => ['']}
|
||||
'1' => ['']}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3111,7 +3111,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:description => 'This is the description',
|
||||
:priority_id => 5,
|
||||
:custom_field_values => {
|
||||
field.id.to_s => ['', '2', '3']}
|
||||
field.id.to_s => ['', '2', '3']}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3159,8 +3159,8 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:due_date => '',
|
||||
:custom_field_values => {
|
||||
cf1.id.to_s => '', cf2.id.to_s => ''
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -3189,8 +3189,8 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:due_date => '',
|
||||
:custom_field_values => {
|
||||
cf1.id.to_s => '', cf2.id.to_s => ['']
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -3219,8 +3219,8 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:due_date => '2012-07-16',
|
||||
:custom_field_values => {
|
||||
cf1.id.to_s => 'value1', cf2.id.to_s => 'value2'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
assert_response 302
|
||||
@@ -3246,7 +3246,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:tracker_id => 1,
|
||||
:status_id => 1,
|
||||
:subject => 'Test'
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
assert_response 302
|
||||
@@ -3424,7 +3424,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => 3,
|
||||
:tracker_id => 2,
|
||||
:subject => 'Foo'
|
||||
},
|
||||
},
|
||||
:continue => '1'
|
||||
}
|
||||
assert_redirected_to '/issues/new?issue%5Bproject_id%5D=3&issue%5Btracker_id%5D=2'
|
||||
@@ -3477,13 +3477,13 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => 5,
|
||||
:estimated_hours => '',
|
||||
:custom_field_values => {
|
||||
'2' => 'Value for field 2'}
|
||||
'2' => 'Value for field 2'}
|
||||
}
|
||||
}
|
||||
end
|
||||
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
|
||||
|
||||
assert_equal 1, ActionMailer::Base.deliveries.size
|
||||
assert_equal 2, ActionMailer::Base.deliveries.size
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3536,7 +3536,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
post :create, :params => {
|
||||
:project_id => 1,
|
||||
:issue => {
|
||||
:tracker => "A param can not be a Tracker"
|
||||
:tracker => "A param can not be a Tracker"
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3553,11 +3553,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => 1,
|
||||
:issue => {
|
||||
:tracker_id => '1',
|
||||
:subject => 'With attachment'
|
||||
},
|
||||
:subject => 'With attachment'
|
||||
},
|
||||
:attachments => {
|
||||
'1' => {
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3588,11 +3588,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => 1,
|
||||
:issue => {
|
||||
:tracker_id => '1',
|
||||
:subject => 'With attachment'
|
||||
},
|
||||
:subject => 'With attachment'
|
||||
},
|
||||
:attachments => {
|
||||
'1' => {
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -3614,11 +3614,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => 1,
|
||||
:issue => {
|
||||
:tracker_id => '1',
|
||||
:subject => ''
|
||||
},
|
||||
:subject => ''
|
||||
},
|
||||
:attachments => {
|
||||
'1' => {
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -3645,11 +3645,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => 1,
|
||||
:issue => {
|
||||
:tracker_id => '1',
|
||||
:subject => ''
|
||||
},
|
||||
:subject => ''
|
||||
},
|
||||
:attachments => {
|
||||
'p0' => {
|
||||
'token' => attachment.token}
|
||||
'token' => attachment.token}
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -3671,11 +3671,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => 1,
|
||||
:issue => {
|
||||
:tracker_id => '1',
|
||||
:subject => 'Saved attachments'
|
||||
},
|
||||
:subject => 'Saved attachments'
|
||||
},
|
||||
:attachments => {
|
||||
'p0' => {
|
||||
'token' => attachment.token}
|
||||
'token' => attachment.token}
|
||||
}
|
||||
}
|
||||
assert_response 302
|
||||
@@ -3997,7 +3997,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => '1',
|
||||
:tracker_id => '1',
|
||||
:status_id => '1'
|
||||
},
|
||||
},
|
||||
:was_default_status => '1'
|
||||
}
|
||||
end
|
||||
@@ -4041,7 +4041,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:tracker_id => '3',
|
||||
:status_id => '1',
|
||||
:subject => 'Copy with attachments'
|
||||
},
|
||||
},
|
||||
:copy_attachments => '1'
|
||||
}
|
||||
end
|
||||
@@ -4089,7 +4089,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:tracker_id => '3',
|
||||
:status_id => '1',
|
||||
:subject => 'Copy with attachments'
|
||||
},
|
||||
},
|
||||
:copy_attachments => '1',
|
||||
:attachments => {
|
||||
'1' => {
|
||||
@@ -4188,7 +4188,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:tracker_id => '3',
|
||||
:status_id => '1',
|
||||
:subject => 'Copy with subtasks'
|
||||
},
|
||||
},
|
||||
:copy_subtasks => '1'
|
||||
}
|
||||
end
|
||||
@@ -4212,8 +4212,8 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:status_id => '1',
|
||||
:subject => 'Copy with subtasks',
|
||||
:custom_field_values => {
|
||||
'2' => 'Foo'}
|
||||
},
|
||||
'2' => 'Foo'}
|
||||
},
|
||||
:copy_subtasks => '1'
|
||||
}
|
||||
end
|
||||
@@ -4394,12 +4394,12 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:status_id => 5,
|
||||
:priority_id => 7
|
||||
},
|
||||
:priority_id => 7
|
||||
},
|
||||
:time_entry => {
|
||||
:hours => '2.5',
|
||||
:comments => 'test_get_edit_with_params',
|
||||
:activity_id => 10
|
||||
:activity_id => 10
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -4638,7 +4638,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:project_id => '1',
|
||||
:tracker_id => '2',
|
||||
:priority_id => '6'
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -4701,9 +4701,9 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:issue => {
|
||||
:subject => 'Custom field change',
|
||||
:custom_field_values => {
|
||||
'1' => ['', 'Oracle', 'PostgreSQL']
|
||||
}
|
||||
|
||||
'1' => ['', 'Oracle', 'PostgreSQL']
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -4724,12 +4724,12 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:issue => {
|
||||
:status_id => 2,
|
||||
:assigned_to_id => 3,
|
||||
:notes => 'Assigned to dlopper'
|
||||
},
|
||||
:notes => 'Assigned to dlopper'
|
||||
},
|
||||
:time_entry => {
|
||||
:hours => '',
|
||||
:comments => '',
|
||||
:activity_id => TimeEntryActivity.first
|
||||
:activity_id => TimeEntryActivity.first
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -4755,7 +4755,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
put :update, :params => {
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => notes
|
||||
:notes => notes
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -4823,12 +4823,12 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
put :update, :params => {
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => '2.5 hours added'
|
||||
},
|
||||
:notes => '2.5 hours added'
|
||||
},
|
||||
:time_entry => {
|
||||
:hours => '2.5',
|
||||
:comments => 'test_put_update_with_note_and_spent_time',
|
||||
:activity_id => TimeEntryActivity.first.id
|
||||
:activity_id => TimeEntryActivity.first.id
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -4883,10 +4883,10 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => ''
|
||||
},
|
||||
},
|
||||
:attachments => {
|
||||
'1' => {
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -4922,11 +4922,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
put :update, :params => {
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:subject => ''
|
||||
},
|
||||
:subject => ''
|
||||
},
|
||||
:attachments => {
|
||||
'1' => {
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -4952,11 +4952,11 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
put :update, :params => {
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:subject => ''
|
||||
},
|
||||
:subject => ''
|
||||
},
|
||||
:attachments => {
|
||||
'p0' => {
|
||||
'token' => attachment.token}
|
||||
'token' => attachment.token}
|
||||
}
|
||||
}
|
||||
assert_response :success
|
||||
@@ -4979,10 +4979,10 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => 'Attachment added'
|
||||
},
|
||||
},
|
||||
:attachments => {
|
||||
'p0' => {
|
||||
'token' => attachment.token}
|
||||
'token' => attachment.token}
|
||||
}
|
||||
}
|
||||
assert_redirected_to '/issues/1'
|
||||
@@ -5007,10 +5007,10 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => ''
|
||||
},
|
||||
},
|
||||
:attachments => {
|
||||
'1' => {
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain')}
|
||||
'file' => uploaded_test_file('testfile.txt', 'text/plain')}
|
||||
}
|
||||
}
|
||||
assert_redirected_to :action => 'show', :id => '1'
|
||||
@@ -5030,7 +5030,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:issue => {
|
||||
:notes => 'Removing attachments',
|
||||
:deleted_attachment_ids => ['1', '5']
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -5057,7 +5057,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:subject => '',
|
||||
:notes => 'Removing attachments',
|
||||
:deleted_attachment_ids => ['1', '5']
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -5100,10 +5100,10 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:subject => new_subject,
|
||||
:priority_id => '6',
|
||||
:category_id => '1' # no change
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
assert_equal 1, ActionMailer::Base.deliveries.size
|
||||
assert_equal 2, ActionMailer::Base.deliveries.size
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5116,7 +5116,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => notes
|
||||
},
|
||||
},
|
||||
:time_entry => {
|
||||
"comments"=>"", "activity_id"=>"", "hours"=>"2z"
|
||||
}
|
||||
@@ -5138,7 +5138,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:notes => notes
|
||||
},
|
||||
},
|
||||
:time_entry => {
|
||||
"comments"=>"this is my comment", "activity_id"=>"", "hours"=>""
|
||||
}
|
||||
@@ -5160,7 +5160,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => issue.id,
|
||||
:issue => {
|
||||
:fixed_version_id => 4
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5178,8 +5178,8 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => issue.id,
|
||||
:issue => {
|
||||
:fixed_version_id => 4
|
||||
|
||||
},
|
||||
|
||||
},
|
||||
:back_url => '/issues'
|
||||
}
|
||||
|
||||
@@ -5195,8 +5195,8 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => issue.id,
|
||||
:issue => {
|
||||
:fixed_version_id => 4
|
||||
|
||||
},
|
||||
|
||||
},
|
||||
:back_url => 'http://google.com'
|
||||
}
|
||||
|
||||
@@ -5212,7 +5212,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:issue => {
|
||||
:status_id => 6,
|
||||
:notes => 'Notes'
|
||||
},
|
||||
},
|
||||
:prev_issue_id => 8,
|
||||
:next_issue_id => 12,
|
||||
:issue_position => 2,
|
||||
@@ -5501,7 +5501,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => 7,
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'2' => ''}
|
||||
'2' => ''}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5531,7 +5531,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => '',
|
||||
:assigned_to_id => group.id,
|
||||
:custom_field_values => {
|
||||
'2' => ''}
|
||||
'2' => ''}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5550,7 +5550,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => 7,
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'2' => ''}
|
||||
'2' => ''}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5578,14 +5578,14 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => 7,
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'2' => ''}
|
||||
'2' => ''}
|
||||
}
|
||||
}
|
||||
assert_response 403
|
||||
assert_not_equal "Bulk should fail", Journal.last.notes
|
||||
end
|
||||
|
||||
def test_bullk_update_should_send_a_notification
|
||||
def test_bulk_update_should_send_a_notification
|
||||
@request.session[:user_id] = 2
|
||||
ActionMailer::Base.deliveries.clear
|
||||
with_settings :notified_events => %w(issue_updated) do
|
||||
@@ -5599,7 +5599,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
}
|
||||
}
|
||||
assert_response 302
|
||||
assert_equal 2, ActionMailer::Base.deliveries.size
|
||||
assert_equal 5, ActionMailer::Base.deliveries.size
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5626,7 +5626,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => 1,
|
||||
:issue => {
|
||||
:project_id => '2'
|
||||
},
|
||||
},
|
||||
:follow => '1'
|
||||
}
|
||||
assert_redirected_to '/issues/1'
|
||||
@@ -5638,7 +5638,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:id => [1, 2],
|
||||
:issue => {
|
||||
:project_id => '2'
|
||||
},
|
||||
},
|
||||
:follow => '1'
|
||||
}
|
||||
assert_redirected_to '/projects/onlinestore/issues'
|
||||
@@ -5745,7 +5745,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => '',
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'2' => '777'}
|
||||
'2' => '777'}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5768,7 +5768,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => '',
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'1' => '__none__'}
|
||||
'1' => '__none__'}
|
||||
}
|
||||
}
|
||||
assert_response 302
|
||||
@@ -5788,7 +5788,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => '',
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'1' => ['MySQL', 'Oracle']}
|
||||
'1' => ['MySQL', 'Oracle']}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5812,7 +5812,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:priority_id => '',
|
||||
:assigned_to_id => '',
|
||||
:custom_field_values => {
|
||||
'1' => ['__none__']}
|
||||
'1' => ['__none__']}
|
||||
}
|
||||
}
|
||||
assert_response 302
|
||||
@@ -5969,7 +5969,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:ids => issue_ids,
|
||||
:issue => {
|
||||
:project_id => '2'
|
||||
},
|
||||
},
|
||||
:copy => '1'
|
||||
}
|
||||
end
|
||||
@@ -5991,7 +5991,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:ids => [1, 2, 3],
|
||||
:issue => {
|
||||
:project_id => '2'
|
||||
},
|
||||
},
|
||||
:copy => '1'
|
||||
}
|
||||
assert_response 302
|
||||
@@ -6006,7 +6006,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:ids => [1, 2, 3],
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
},
|
||||
},
|
||||
:copy => '1'
|
||||
}
|
||||
assert_response 403
|
||||
@@ -6020,7 +6020,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:ids => [1, 2, 3],
|
||||
:issue => {
|
||||
:project_id => '1'
|
||||
},
|
||||
},
|
||||
:copy => '1'
|
||||
}
|
||||
assert_response 403
|
||||
@@ -6047,7 +6047,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:status_id => '',
|
||||
:start_date => '',
|
||||
:due_date => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6087,7 +6087,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:status_id => '1',
|
||||
:start_date => '2009-12-01',
|
||||
:due_date => '2009-12-31'
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6117,7 +6117,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:status_id => '3',
|
||||
:start_date => '2009-12-01',
|
||||
:due_date => '2009-12-31'
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6140,7 +6140,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy_attachments => '0',
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6160,7 +6160,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy_attachments => '1',
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6178,7 +6178,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:link_copy => '1',
|
||||
:issue => {
|
||||
:project_id => '1'
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6196,7 +6196,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy_subtasks => '0',
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6214,7 +6214,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy_subtasks => '1',
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6233,7 +6233,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy_watchers => '1',
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6253,7 +6253,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy_subtasks => '1',
|
||||
:issue => {
|
||||
:project_id => ''
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
end
|
||||
@@ -6268,7 +6268,7 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
:copy => '1',
|
||||
:issue => {
|
||||
:project_id => 2
|
||||
},
|
||||
},
|
||||
:follow => '1'
|
||||
}
|
||||
issue = Issue.order('id DESC').first
|
||||
|
||||
Reference in New Issue
Block a user