aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/info_request.rb2
-rw-r--r--spec/models/info_request_spec.rb12
2 files changed, 13 insertions, 1 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index cf1af0e87..c549d6f5d 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -294,7 +294,7 @@ public
end
end
def email_subject_followup(incoming_message = nil)
- if incoming_message.nil? || !incoming_message.valid_to_reply_to?
+ if incoming_message.nil? || !incoming_message.valid_to_reply_to? || !incoming_message.subject
'Re: ' + self.email_subject_request
else
if incoming_message.subject.match(/^Re:/i)
diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb
index 3eb88b2bb..9b87f909e 100644
--- a/spec/models/info_request_spec.rb
+++ b/spec/models/info_request_spec.rb
@@ -562,6 +562,18 @@ describe InfoRequest do
@info_request.prominence = 'requester_only'
@info_request.all_can_view?.should == false
end
+ end
+
+ describe 'when working out a subject for a followup emails' do
+
+ it "should not be confused by an nil subject in the incoming message" do
+ ir = info_requests(:fancy_dog_request)
+ im = mock_model(IncomingMessage,
+ :subject => nil,
+ :valid_to_reply_to? => true)
+ subject = ir.email_subject_followup im
+ subject.should match(/^Re: Freedom of Information request.*fancy dog/)
+ end
end