From 163ac103cd8fe17789c56577fdccdee49864f51a Mon Sep 17 00:00:00 2001 From: Sarah Mei Date: Sun, 21 Aug 2011 16:45:53 -0700 Subject: [PATCH] Haven't figured out why reset password email body is blank, but I pulled it into a controller test so we can figure it out there instead of in a cucumber feature. --- .../devise/passwords_controller_spec.rb | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 spec/controllers/devise/passwords_controller_spec.rb diff --git a/spec/controllers/devise/passwords_controller_spec.rb b/spec/controllers/devise/passwords_controller_spec.rb new file mode 100644 index 000000000..bee9bcdfc --- /dev/null +++ b/spec/controllers/devise/passwords_controller_spec.rb @@ -0,0 +1,45 @@ +# Copyright (c) 2010, Diaspora Inc. This file is +# licensed under the Affero General Public License version 3 or later. See +# the COPYRIGHT file. + +require 'spec_helper' + +describe Devise::PasswordsController do + include Devise::TestHelpers + + before do + @request.env["devise.mapping"] = Devise.mappings[:user] + end + + describe "#create" do + context "when there is no such user" do + it "succeeds" do + post :create, "user" => {"email" => "foo@example.com"} + response.should be_success + end + it "doesn't send email" do + expect { + post :create, "user" => {"email" => "foo@example.com"} + }.to change(Devise.mailer.deliveries, :length).by(0) + end + end + context "when there is a user with that email" do + it "redirects to the login page" do + post :create, "user" => {"email" => alice.email} + response.should redirect_to(new_user_session_path) + end + it "sends email" do + expect { + post :create, "user" => {"email" => alice.email} + }.to change(Devise.mailer.deliveries, :length).by(1) + end + it "sends email with a non-blank body" do + post :create, "user" => {"email" => alice.email} + email = Devise.mailer.deliveries.last + email_body = email.body.to_s + email_body = email.html_part.body.raw_source if email_body.blank? && email.html_part.present? + email_body.should_not be_blank + end + end + end +end \ No newline at end of file