Mercurial > hg > soundsoftware-site
diff test/unit/mail_handler_test.rb @ 119:8661b858af72
* Update to Redmine trunk rev 4705
author | Chris Cannam |
---|---|
date | Thu, 13 Jan 2011 14:12:06 +0000 |
parents | 94944d00e43c |
children | cbce1fd3b1b7 |
line wrap: on
line diff
--- a/test/unit/mail_handler_test.rb Fri Nov 19 14:05:24 2010 +0000 +++ b/test/unit/mail_handler_test.rb Thu Jan 13 14:12:06 2011 +0000 @@ -17,7 +17,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -require File.dirname(__FILE__) + '/../test_helper' +require File.expand_path('../../test_helper', __FILE__) class MailHandlerTest < ActiveSupport::TestCase fixtures :users, :projects, @@ -36,6 +36,7 @@ :issue_categories, :custom_fields, :custom_fields_trackers, + :custom_fields_projects, :boards, :messages @@ -53,9 +54,10 @@ 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 '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 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 @@ -64,6 +66,7 @@ assert_equal Version.find_by_name('alpha'), issue.fixed_version assert_equal 2.5, issue.estimated_hours assert_equal 30, issue.done_ratio + assert_equal [issue.id, 1, 2], [issue.root_id, issue.lft, issue.rgt] # keywords should be removed from the email body assert !issue.description.match(/^Project:/i) assert !issue.description.match(/^Status:/i) @@ -72,6 +75,15 @@ assert_not_nil mail assert mail.subject.include?('New ticket on a given project') end + + def test_add_issue_with_default_tracker + # This email contains: 'Project: onlinestore' + issue = submit_email('ticket_on_given_project.eml', :issue => {:tracker => 'Support request'}) + assert issue.is_a?(Issue) + assert !issue.new_record? + issue.reload + assert_equal 'Support request', issue.tracker.name + end def test_add_issue_with_status # This email contains: 'Project: onlinestore' and 'Status: Resolved' @@ -201,6 +213,7 @@ assert issue.is_a?(Issue) assert issue.author.anonymous? assert !issue.project.is_public? + assert_equal [issue.id, 1, 2], [issue.root_id, issue.lft, issue.rgt] end end end @@ -288,6 +301,7 @@ assert_equal User.find_by_login('jsmith'), journal.user assert_equal Issue.find(2), journal.journalized assert_match /This is reply/, journal.notes + assert_equal 'Feature request', journal.issue.tracker.name end def test_add_issue_note_with_attribute_changes @@ -298,11 +312,12 @@ assert_equal User.find_by_login('jsmith'), journal.user assert_equal Issue.find(2), journal.journalized assert_match /This is reply/, journal.notes + assert_equal 'Feature request', journal.issue.tracker.name assert_equal IssueStatus.find_by_name("Resolved"), issue.status 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 'Updated custom value', issue.custom_value_for(CustomField.find_by_name('Searchable field')).value + assert_equal "52.6", issue.custom_value_for(CustomField.find_by_name('Float field')).value end def test_add_issue_note_should_send_email_notification @@ -312,6 +327,14 @@ assert_equal 1, ActionMailer::Base.deliveries.size end + def test_add_issue_note_should_not_set_defaults + journal = submit_email('ticket_reply.eml', :issue => {:tracker => 'Support request', :priority => 'High'}) + assert journal.is_a?(Journal) + assert_match /This is reply/, journal.notes + assert_equal 'Feature request', journal.issue.tracker.name + assert_equal 'Normal', journal.issue.priority.name + end + def test_reply_to_a_message m = submit_email('message_reply.eml') assert m.is_a?(Message)