aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlouise <louise>2009-04-14 11:16:41 +0000
committerlouise <louise>2009-04-14 11:16:41 +0000
commitc03a13d75b1eb57e395919b2932afa2794ccd0ca (patch)
tree9b3145a647f346aee110a66460aeb52d3f638422
parent5955ef15296fa3bd3c83795bfdfc2610018b0520 (diff)
Added method for sending email to requester when someone has updated an old unclassified request
-rw-r--r--app/models/request_mailer.rb11
-rw-r--r--spec/models/request_mailer_spec.rb29
2 files changed, 35 insertions, 5 deletions
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb
index b4fa82a42..c7804d435 100644
--- a/app/models/request_mailer.rb
+++ b/app/models/request_mailer.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: request_mailer.rb,v 1.73 2009-04-08 16:41:52 louise Exp $
+# $Id: request_mailer.rb,v 1.74 2009-04-14 11:16:41 louise Exp $
class RequestMailer < ApplicationMailer
@@ -156,6 +156,15 @@ class RequestMailer < ApplicationMailer
@body = { :incoming_message => incoming_message, :info_request => info_request, :url => url }
end
+ # Tell the requester that someone updated their old unclassified request
+ def old_unclassified_updated(info_request)
+ @from = contact_from_name_and_email
+ @recipients = info_request.user.name_and_email
+ @subject = "Someone has updated the status of your request"
+ url = main_url(request_url(info_request))
+ @body = {:info_request => info_request, :url => url}
+ end
+
# Tell the requester that they need to clarify their request
def not_clarified_alert(info_request, incoming_message)
respond_url = show_response_url(:id => info_request.id, :incoming_message_id => incoming_message.id)
diff --git a/spec/models/request_mailer_spec.rb b/spec/models/request_mailer_spec.rb
index 933d85870..8339aa448 100644
--- a/spec/models/request_mailer_spec.rb
+++ b/spec/models/request_mailer_spec.rb
@@ -1,11 +1,9 @@
require File.dirname(__FILE__) + '/../spec_helper'
describe RequestMailer, " when receiving incoming mail" do
+
fixtures :info_requests, :incoming_messages, :raw_emails, :users, :public_bodies
- before do
- end
-
it "should append it to the appropriate request" do
ir = info_requests(:fancy_dog_request)
ir.incoming_messages.size.should == 1 # in the fixture
@@ -131,7 +129,7 @@ describe RequestMailer, " when working out follow up addresses" do
RequestMailer.email_for_followup(ir, im).should == "foiperson@localhost"
end
- end
+end
describe RequestMailer, "when sending reminders to requesters to classify a response to their request" do
@@ -212,3 +210,26 @@ describe RequestMailer, "when sending reminders to requesters to classify a resp
end
end
+
+describe RequestMailer, 'when sending mail when someone has updated an old unclassified request' do
+
+ before do
+ @user = mock_model(User, :name_and_email => 'test name and email')
+ @public_body = mock_model(PublicBody, :name => 'Test public body')
+ @info_request = mock_model(InfoRequest, :user => @user,
+ :law_used_full => 'Freedom of Information',
+ :title => 'Test request',
+ :public_body => @public_body,
+ :url_title => 'test_request')
+ @mail = RequestMailer.create_old_unclassified_updated(@info_request)
+ end
+
+ it 'should have the subject "Someone has updated the status of your request"' do
+ @mail.subject.should == 'Someone has updated the status of your request'
+ end
+
+ it 'should contain the request path' do
+ @mail.body.should match(/request\/test_request/)
+ end
+
+end