From 3d164f1da034ba8e3a6c7d5948cc9990262bea8a Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Fri, 17 Jun 2011 12:10:23 -0700 Subject: [PATCH] [#480] Fix replying to IssueJournals through email --- app/models/mail_handler.rb | 2 +- .../ticket_reply_by_message_id.eml | 74 +++++++++++++++++++ test/unit/mail_handler_test.rb | 9 +++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/mail_handler/ticket_reply_by_message_id.eml diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index c66b48d3..9ab8a2a2 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -165,7 +165,7 @@ class MailHandler < ActionMailer::Base end # Reply will be added to the issue - def receive_journal_reply(journal_id) + def receive_issue_journal_reply(journal_id) journal = Journal.find_by_id(journal_id) if journal and journal.journaled.is_a? Issue receive_issue_reply(journal.journaled_id) diff --git a/test/fixtures/mail_handler/ticket_reply_by_message_id.eml b/test/fixtures/mail_handler/ticket_reply_by_message_id.eml new file mode 100644 index 00000000..1b91f937 --- /dev/null +++ b/test/fixtures/mail_handler/ticket_reply_by_message_id.eml @@ -0,0 +1,74 @@ +Return-Path: +Received: from osiris ([127.0.0.1]) + by OSIRIS + with hMailServer ; Sat, 21 Jun 2008 18:41:39 +0200 +Message-ID: <006a01c8d3bd$ad9baec0$0a00a8c0@osiris> +In-Reply-To: +From: "John Smith" +To: +References: <485d0ad366c88_d7014663a025f@osiris.tmail> +Subject: Re: Add ingredients categories +Date: Sat, 21 Jun 2008 18:41:39 +0200 +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="----=_NextPart_000_0067_01C8D3CE.711F9CC0" +X-Priority: 3 +X-MSMail-Priority: Normal +X-Mailer: Microsoft Outlook Express 6.00.2900.2869 +X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 + +This is a multi-part message in MIME format. + +------=_NextPart_000_0067_01C8D3CE.711F9CC0 +Content-Type: text/plain; + charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +This is reply +------=_NextPart_000_0067_01C8D3CE.711F9CC0 +Content-Type: text/html; + charset="utf-8" +Content-Transfer-Encoding: quoted-printable + +=EF=BB=BF + + + + + + +
This is=20 +reply
+ +------=_NextPart_000_0067_01C8D3CE.711F9CC0-- + diff --git a/test/unit/mail_handler_test.rb b/test/unit/mail_handler_test.rb index f3bd0fce..47d3d7ea 100644 --- a/test/unit/mail_handler_test.rb +++ b/test/unit/mail_handler_test.rb @@ -301,6 +301,15 @@ class MailHandlerTest < ActiveSupport::TestCase assert_equal 'Feature request', journal.issue.tracker.name end + test "reply to issue update (Journal) by message_id" do + journal = submit_email('ticket_reply_by_message_id.eml') + assert journal.is_a?(IssueJournal), "Email was a #{journal.class}" + assert_equal User.find_by_login('jsmith'), journal.user + assert_equal Issue.find(2), journal.journaled + assert_match /This is reply/, journal.notes + assert_equal 'Feature request', journal.issue.tracker.name + end + def test_add_issue_note_with_attribute_changes # This email contains: 'Status: Resolved' journal = submit_email('ticket_reply_with_status.eml')