summaryrefslogtreecommitdiffstats
path: root/test/unit/mail_handler_test.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-07-06 16:26:25 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-07-06 16:26:25 +0000
commit40efaae6d5a2f48734caf4cdabd9537f923c0f47 (patch)
tree4335e4090d62269bea499623268ffa09bed40897 /test/unit/mail_handler_test.rb
parentbfba84d526f80e14d7c1422ac51a40803f828f9e (diff)
downloadredmine-40efaae6d5a2f48734caf4cdabd9537f923c0f47.tar.gz
redmine-40efaae6d5a2f48734caf4cdabd9537f923c0f47.zip
Mail handler: more control over issue attributes (#1110).
Tracker, category and priority attributes can be specified in command line arguments and/or individually specified as overridable by email body keywords. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1643 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/mail_handler_test.rb')
-rw-r--r--test/unit/mail_handler_test.rb40
1 files changed, 38 insertions, 2 deletions
diff --git a/test/unit/mail_handler_test.rb b/test/unit/mail_handler_test.rb
index 6bb638f21..6e8a47c35 100644
--- a/test/unit/mail_handler_test.rb
+++ b/test/unit/mail_handler_test.rb
@@ -18,7 +18,15 @@
require File.dirname(__FILE__) + '/../test_helper'
class MailHandlerTest < Test::Unit::TestCase
- fixtures :users, :projects, :enabled_modules, :roles, :members, :issues, :trackers, :enumerations
+ fixtures :users, :projects,
+ :enabled_modules,
+ :roles,
+ :members,
+ :issues,
+ :trackers,
+ :projects_trackers,
+ :enumerations,
+ :issue_categories
FIXTURES_PATH = File.dirname(__FILE__) + '/../fixtures/mail_handler'
@@ -38,8 +46,36 @@ class MailHandlerTest < Test::Unit::TestCase
assert issue.description.include?('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.')
end
+ def test_add_issue_with_attributes_override
+ issue = submit_email('ticket_with_attributes.eml', :allow_override => 'tracker,category,priority')
+ assert issue.is_a?(Issue)
+ assert !issue.new_record?
+ issue.reload
+ assert_equal 'New ticket on a given project', issue.subject
+ assert_equal User.find_by_login('jsmith'), issue.author
+ assert_equal Project.find(2), issue.project
+ assert_equal 'Feature request', issue.tracker.to_s
+ assert_equal 'Stock management', issue.category.to_s
+ assert_equal 'Urgent', issue.priority.to_s
+ assert issue.description.include?('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.')
+ end
+
+ def test_add_issue_with_partial_attributes_override
+ issue = submit_email('ticket_with_attributes.eml', :issue => {:priority => 'High'}, :allow_override => ['tracker'])
+ assert issue.is_a?(Issue)
+ assert !issue.new_record?
+ issue.reload
+ assert_equal 'New ticket on a given project', issue.subject
+ assert_equal User.find_by_login('jsmith'), issue.author
+ assert_equal Project.find(2), issue.project
+ assert_equal 'Feature request', issue.tracker.to_s
+ assert_nil issue.category
+ assert_equal 'High', issue.priority.to_s
+ assert issue.description.include?('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.')
+ end
+
def test_add_issue_with_attachment_to_specific_project
- issue = submit_email('ticket_with_attachment.eml', :project => 'onlinestore')
+ issue = submit_email('ticket_with_attachment.eml', :issue => {:project => 'onlinestore'})
assert issue.is_a?(Issue)
assert !issue.new_record?
issue.reload