summaryrefslogtreecommitdiffstats
path: root/test/unit/mail_handler_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2015-10-17 09:08:18 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2015-10-17 09:08:18 +0000
commit1ccdf38fdde16421905f8419bb83f0e923bd16bc (patch)
treeeee2033d7563c5398692a45a7a16f987bdd552fd /test/unit/mail_handler_test.rb
parentaf3c91d02aff6593de4847390df59795597bb181 (diff)
downloadredmine-1ccdf38fdde16421905f8419bb83f0e923bd16bc.tar.gz
redmine-1ccdf38fdde16421905f8419bb83f0e923bd16bc.zip
Mail Handler: add support for allow_override=all (#20543).
git-svn-id: http://svn.redmine.org/redmine/trunk@14681 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/mail_handler_test.rb')
-rw-r--r--test/unit/mail_handler_test.rb49
1 files changed, 44 insertions, 5 deletions
diff --git a/test/unit/mail_handler_test.rb b/test/unit/mail_handler_test.rb
index 40026b2d1..4a16eb7f9 100644
--- a/test/unit/mail_handler_test.rb
+++ b/test/unit/mail_handler_test.rb
@@ -40,10 +40,9 @@ class MailHandlerTest < ActiveSupport::TestCase
Setting.clear_cache
end
- def test_add_issue
+ def test_add_issue_with_specific_overrides
ActionMailer::Base.deliveries.clear
lft1 = new_issue_lft
- # This email contains: 'Project: onlinestore'
issue = submit_email('ticket_on_given_project.eml',
:allow_override => ['status', 'start_date', 'due_date', 'assigned_to', 'fixed_version', 'estimated_hours', 'done_ratio']
)
@@ -74,6 +73,46 @@ class MailHandlerTest < ActiveSupport::TestCase
assert mail.subject.include?('New ticket on a given project')
end
+ def test_add_issue_with_all_overrides
+ ActionMailer::Base.deliveries.clear
+ lft1 = new_issue_lft
+ issue = submit_email('ticket_on_given_project.eml', :allow_override => 'all')
+ assert issue.is_a?(Issue)
+ assert !issue.new_record?
+ issue.reload
+ assert_equal Project.find(2), issue.project
+ assert_equal issue.project.trackers.first, issue.tracker
+ assert_equal IssueStatus.find_by_name('Resolved'), issue.status
+ assert issue.description.include?('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.')
+ assert_equal '2010-01-01', issue.start_date.to_s
+ assert_equal '2010-12-31', issue.due_date.to_s
+ assert_equal User.find_by_login('jsmith'), issue.assigned_to
+ assert_equal Version.find_by_name('Alpha'), issue.fixed_version
+ assert_equal 2.5, issue.estimated_hours
+ assert_equal 30, issue.done_ratio
+ end
+
+ def test_add_issue_without_overrides_should_ignore_attributes
+ WorkflowRule.delete_all
+ issue = submit_email('ticket_on_given_project.eml')
+ assert issue.is_a?(Issue)
+ assert !issue.new_record?
+ issue.reload
+ assert_equal Project.find(2), issue.project
+ assert_equal 'New ticket on a given project', issue.subject
+ assert issue.description.include?('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.')
+ assert_equal User.find_by_login('jsmith'), issue.author
+
+ assert_equal issue.project.trackers.first, issue.tracker
+ assert_equal 'New', issue.status.name
+ assert_not_equal '2010-01-01', issue.start_date.to_s
+ assert_nil issue.due_date
+ assert_nil issue.assigned_to
+ assert_nil issue.fixed_version
+ assert_nil issue.estimated_hours
+ assert_equal 0, issue.done_ratio
+ end
+
def test_add_issue_with_default_tracker
# This email contains: 'Project: onlinestore'
issue = submit_email(
@@ -86,9 +125,9 @@ class MailHandlerTest < ActiveSupport::TestCase
assert_equal 'Support request', issue.tracker.name
end
- def test_add_issue_with_status
+ def test_add_issue_with_status_override
# This email contains: 'Project: onlinestore' and 'Status: Resolved'
- issue = submit_email('ticket_on_given_project.eml')
+ issue = submit_email('ticket_on_given_project.eml', :allow_override => ['status'])
assert issue.is_a?(Issue)
assert !issue.new_record?
issue.reload
@@ -185,7 +224,7 @@ class MailHandlerTest < ActiveSupport::TestCase
def test_add_issue_with_custom_fields
issue = submit_email('ticket_with_custom_fields.eml',
- :issue => {:project => 'onlinestore'}, :allow_override => ['database', 'Searchable field']
+ :issue => {:project => 'onlinestore'}, :allow_override => ['database', 'Searchable_field']
)
assert issue.is_a?(Issue)
assert !issue.new_record?