diff options
-rw-r--r-- | app/models/info_request.rb | 2 | ||||
-rw-r--r-- | spec/models/outgoing_mailer_spec.rb | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb index 6faf0dbad..da953f231 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -212,7 +212,7 @@ public end end def email_subject_followup(incoming_message = nil) - if incoming_message.nil? + if incoming_message.nil? || !incoming_message.valid_to_reply_to? 'Re: ' + self.email_subject_request else if incoming_message.mail.subject.match(/^Re:/i) diff --git a/spec/models/outgoing_mailer_spec.rb b/spec/models/outgoing_mailer_spec.rb index 0bbe39cad..eeed53251 100644 --- a/spec/models/outgoing_mailer_spec.rb +++ b/spec/models/outgoing_mailer_spec.rb @@ -111,6 +111,17 @@ describe OutgoingMailer, "when working out follow up subjects" do im.raw_email.data = im.raw_email.data.sub("Subject: Geraldine FOI Code AZXB421", "Subject: re: Geraldine FOI Code AZXB421") OutgoingMailer.subject_for_followup(ir, om).should == "re: Geraldine FOI Code AZXB421" end + + it "should use 'Re:' and initial request subject when replying to failed delivery notifications" do + ir = info_requests(:fancy_dog_request) + im = ir.incoming_messages[0] + om = outgoing_messages(:useless_outgoing_message) + om.incoming_message_followup = im + + im.raw_email.data = im.raw_email.data.sub("foiperson@localhost", "postmaster@localhost") + im.raw_email.data = im.raw_email.data.sub("Subject: Geraldine FOI Code AZXB421", "Subject: Delivery Failed") + OutgoingMailer.subject_for_followup(ir, om).should == "Re: Freedom of Information request - Why do you have & such a fancy dog?" + end end |