diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/incoming_message_spec.rb | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index 6e905988d..ec9efca0c 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -58,49 +58,35 @@ describe IncomingMessage, " folding quoted parts of emails" do end describe IncomingMessage, " checking validity to reply to" do - it "says a valid email is fine" do - @mail = mock("mail") - @mail.stub!(:from_addrs).and_return( [ TMail::Address.parse("team@mysociety.org") ] ) + def test_email(email, result) + @address = mock(TMail::Address) + @address.stub!(:spec).and_return(email) + @mail = mock(TMail::Mail) + @mail.stub!(:from_addrs).and_return( [ @address ] ) @incoming_message = IncomingMessage.new() @incoming_message.stub!(:mail).and_return(@mail) - @incoming_message.valid_to_reply_to?.should be_true + @incoming_message.valid_to_reply_to?.should == result end - it "says postmaster email is bad" do - @mail = mock("mail") - @mail.stub!(:from_addrs).and_return( [ TMail::Address.parse("postmaster@mysociety.org") ] ) - @incoming_message = IncomingMessage.new() - @incoming_message.stub!(:mail).and_return(@mail) + it "says a valid email is fine" do + test_email("team@mysociety.org", true) + end - @incoming_message.valid_to_reply_to?.should be_false + it "says postmaster email is bad" do + test_email("postmaster@mysociety.org", false) end it "says Mailer-Daemon email is bad" do - @mail = mock("mail") - @mail.stub!(:from_addrs).and_return( [ TMail::Address.parse("Mailer-Daemon@mysociety.org") ] ) - @incoming_message = IncomingMessage.new() - @incoming_message.stub!(:mail).and_return(@mail) - - @incoming_message.valid_to_reply_to?.should be_false + test_email("Mailer-Daemon@mysociety.org", false) end it "says case mangled MaIler-DaemOn email is bad" do - @mail = mock("mail") - @mail.stub!(:from_addrs).and_return( [ TMail::Address.parse("MaIler-DaemOn@mysociety.org") ] ) - @incoming_message = IncomingMessage.new() - @incoming_message.stub!(:mail).and_return(@mail) - - @incoming_message.valid_to_reply_to?.should be_false + test_email("MaIler-DaemOn@mysociety.org", false) end it "says Auto_Reply email is bad" do - @mail = mock("mail") - @mail.stub!(:from_addrs).and_return( [ TMail::Address.parse("Auto_Reply@mysociety.org") ] ) - @incoming_message = IncomingMessage.new() - @incoming_message.stub!(:mail).and_return(@mail) - - @incoming_message.valid_to_reply_to?.should be_false + test_email("Auto_Reply@mysociety.org", false) end |