I've got a simple ActionMailer::Base subclass: class InfoMailer < ActionMailer::Base
def info(user, zip_name) recipients user.email subject "Requested Info" attachment(:content_type => "application/zip", :filename => zip_name, :body => File.read(zip_name)) body(:message => "Here is the Info that you Requested") end end I'm trying to spec this following http://www.rubytutorials.net/2008/02/26/small-rspec-revelations-actionmailer/ describe AssetsInfoMailer do before(:each) do @user = mock_model(User, :email => @user_email = "somewh...@over.the.rainbow", :full_name => "The Wicked Witch of the West" ) ActionMailer::Base.delivery_method = :test ActionMailer::Base.perform_deliveries = true ActionMailer::Base.deliveries = [] end describe ".info" do before(:each) do @path = 'xyz.zip' @attachment_body = 'zip_file_contents' File.stub!(:read).and_return(@attachment_body) @the_mail = AssetsInfoMailer.deliver_info(@user,@path) @attachments = @the_mail.attachments end it "should have the right body" do @the_mail.body.should == "" end end The expectation of an empty string is just to see what's actually getting returned, the result is: 1) 'AssetsInfoMailer.info should have the right body' FAILED expected: "", got: "Attachment: xyz.zip\n" (using ==) It's looking like the mail template never got rendered, and body is giving me the attachment since it's the only part. I've got one other mailer method in that mailer which doesn't contain an attachement, and it's body comes out fine. I'm not sure what's going on here, and I'd appreciate any help/insight/condolences... -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users