On Wed, Mar 18, 2009 at 4:28 PM, Rick DeNatale <rick.denat...@gmail.com>wrote:
> 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... > Note that I screwed up in sanitizing the code, the mailer really is AssetsInfoManager, and that's what's in the spec consistently.
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users