| 7807 |
7807 |
assert_equal 1, journal.details.size
|
| 7808 |
7808 |
end
|
| 7809 |
7809 |
|
|
7810 |
class BulkEditHookListener < Redmine::Hook::ViewListener
|
|
7811 |
cattr_accessor :after_contexts
|
|
7812 |
|
|
7813 |
def controller_issues_bulk_edit_after_save(context)
|
|
7814 |
(self.class.after_contexts ||= []) << context
|
|
7815 |
end
|
|
7816 |
end
|
|
7817 |
|
|
7818 |
Redmine::Hook.clear_listeners
|
|
7819 |
|
|
7820 |
def test_bulk_update_should_call_after_save_hook
|
|
7821 |
Redmine::Hook.clear_listeners
|
|
7822 |
Redmine::Hook.add_listener(BulkEditHookListener)
|
|
7823 |
BulkEditHookListener.after_contexts = []
|
|
7824 |
@request.session[:user_id] = 2
|
|
7825 |
post(
|
|
7826 |
:bulk_update,
|
|
7827 |
:params => {
|
|
7828 |
:ids => [1, 2],
|
|
7829 |
:notes => 'Bulk editing',
|
|
7830 |
:issue => {
|
|
7831 |
:priority_id => 7
|
|
7832 |
}
|
|
7833 |
}
|
|
7834 |
)
|
|
7835 |
|
|
7836 |
assert_equal [1, 2], BulkEditHookListener.after_contexts.map {|c| c[:issue].id}.sort
|
|
7837 |
assert_equal ['Bulk editing'], BulkEditHookListener.after_contexts.map {|c| c[:journal].notes}.uniq
|
|
7838 |
ensure
|
|
7839 |
Redmine::Hook.clear_listeners
|
|
7840 |
end
|
|
7841 |
|
|
7842 |
def test_bulk_update_should_not_call_after_save_hook_when_save_fails
|
|
7843 |
Redmine::Hook.clear_listeners
|
|
7844 |
Redmine::Hook.add_listener(BulkEditHookListener)
|
|
7845 |
BulkEditHookListener.after_contexts = []
|
|
7846 |
@request.session[:user_id] = 2
|
|
7847 |
post(
|
|
7848 |
:bulk_update,
|
|
7849 |
:params => {
|
|
7850 |
:ids => [1, 2],
|
|
7851 |
:issue => {
|
|
7852 |
:start_date => 'foo'
|
|
7853 |
}
|
|
7854 |
}
|
|
7855 |
)
|
|
7856 |
|
|
7857 |
assert_equal [], BulkEditHookListener.after_contexts
|
|
7858 |
ensure
|
|
7859 |
Redmine::Hook.clear_listeners
|
|
7860 |
end
|
|
7861 |
|
| 7810 |
7862 |
def test_bulk_update_with_group_assignee
|
| 7811 |
7863 |
group = Group.find(11)
|
| 7812 |
7864 |
project = Project.find(1)
|