diff options
-rw-r--r-- | app/models/request_mailer.rb | 11 | ||||
-rw-r--r-- | spec/models/request_mailer_spec.rb | 29 |
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 |