From a1c40d146a27871bc0621850750fc487eada250b Mon Sep 17 00:00:00 2001
From: Go MAEDA
+ + <%= hidden_field_tag 'import_settings[notifications]', '0', :id => nil %> + <%= check_box_tag 'import_settings[notifications]', '1', "#{@import.settings['notifications']}" == '1' %> +
<%= submit_tag l(:label_next).html_safe + " »".html_safe, :name => nil %>
<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 2310d1eec..9bcbc48aa 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -950,6 +950,7 @@ en: label_profile: Profile label_subtask_plural: Subtasks label_project_copy_notifications: Send email notifications during the project copy + label_import_notifications: Send email notifications during the import label_principal_search: "Search for user or group:" label_user_search: "Search for user:" label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author diff --git a/test/functional/imports_controller_test.rb b/test/functional/imports_controller_test.rb index 85645e24c..f75156379 100644 --- a/test/functional/imports_controller_test.rb +++ b/test/functional/imports_controller_test.rb @@ -237,6 +237,44 @@ class ImportsControllerTest < Redmine::ControllerTest assert_equal ["Child of existing issue", "Child 1", "First"], issues.map(&:subject) end + def test_post_run_with_notifications + import = generate_import + + post :settings, :params => { + :id => import, + :import_settings => { + :separator => ';', + :wrapper => '"', + :encoding => 'ISO-8859-1', + :notifications => '1', + :mapping => { + :project_id => '1', + :tracker => '13', + :subject => '1', + :assigned_to => '11', + }, + }, + } + + ActionMailer::Base.deliveries.clear + assert_difference 'Issue.count', 3 do + post :run, :params => { + :id => import, + } + assert_response :found + end + actual_email_count = ActionMailer::Base.deliveries.size + assert_not_equal 0, actual_email_count + + import.reload + issue_ids = import.items.collect(&:obj_id) + expected_email_count = + Issue.where(:id => issue_ids).inject(0) do |sum, issue| + sum + (issue.notified_users | issue.notified_watchers).size + end + assert_equal expected_email_count, actual_email_count + end + def test_show_without_errors import = generate_import_with_mapping import.run