diff options
author | francis <francis> | 2009-04-27 02:25:14 +0000 |
---|---|---|
committer | francis <francis> | 2009-04-27 02:25:14 +0000 |
commit | 3e2600b5564cd3e1870d79ea008fec4b5b5bb066 (patch) | |
tree | 1dc763f37f261fdc51270bc5c979ec7036e3f5a0 | |
parent | bb4044ed9f56e3d52f96afca5642419361942dc1 (diff) |
Factor out common bit of tests into a function.
-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 |