2012-11-12 12:28:44 +00:00
|
|
|
require "spec_helper"
|
|
|
|
|
|
2013-06-24 21:31:40 +00:00
|
|
|
###########################################################
|
|
|
|
|
# We test just the mailer templating here. #
|
|
|
|
|
# In other words, make sure there are no glaring oopsies, #
|
|
|
|
|
# such as broken templates, or sending to wrong address #
|
|
|
|
|
###########################################################
|
|
|
|
|
|
|
|
|
|
|
2012-11-12 12:28:44 +00:00
|
|
|
describe UserMailer do
|
|
|
|
|
|
|
|
|
|
let(:user) { FactoryGirl.create(:user) }
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
UserMailer.deliveries.clear
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-26 13:43:02 +00:00
|
|
|
describe "should send confirm email" do
|
2013-06-24 21:31:40 +00:00
|
|
|
|
|
|
|
|
let (:mail) { UserMailer.deliveries[0] }
|
|
|
|
|
let (:signup_confirmation_url) { "http://example.com/confirm" }
|
|
|
|
|
let (:signup_confirmation_url_with_token ) { "#{signup_confirmation_url}/#{user.signup_token}" }
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
2013-09-26 13:43:02 +00:00
|
|
|
UserMailer.confirm_email(user, signup_confirmation_url_with_token).deliver
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it { UserMailer.deliveries.length.should == 1 }
|
|
|
|
|
it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
it { mail['to'].to_s.should == user.email }
|
|
|
|
|
it { mail.multipart?.should == true } # because we send plain + html
|
|
|
|
|
|
|
|
|
|
# verify that the messages are correctly configured
|
|
|
|
|
it { mail.html_part.body.include?("Welcome").should be_true }
|
|
|
|
|
it { mail.html_part.body.include?(signup_confirmation_url_with_token).should be_true }
|
|
|
|
|
it { mail.text_part.body.include?("Welcome").should be_true }
|
|
|
|
|
it { mail.text_part.body.include?(signup_confirmation_url_with_token).should be_true }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "should send welcome email" do
|
|
|
|
|
|
|
|
|
|
let (:mail) { UserMailer.deliveries[0] }
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
UserMailer.welcome_message(user).deliver
|
2013-06-24 21:31:40 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it { UserMailer.deliveries.length.should == 1 }
|
|
|
|
|
it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
it { mail['to'].to_s.should == user.email }
|
|
|
|
|
it { mail.multipart?.should == true } # because we send plain + html
|
|
|
|
|
|
|
|
|
|
# verify that the messages are correctly configured
|
2013-09-26 17:33:28 +00:00
|
|
|
it { mail.html_part.body.include?("delighted").should be_true }
|
|
|
|
|
it { mail.text_part.body.include?("delighted").should be_true }
|
2013-06-24 21:31:40 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "should send reset password" do
|
|
|
|
|
|
|
|
|
|
let(:mail) { UserMailer.deliveries[0] }
|
|
|
|
|
before(:each) do
|
|
|
|
|
UserMailer.password_reset(user, '/reset_password').deliver
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it { UserMailer.deliveries.length.should == 1 }
|
|
|
|
|
|
|
|
|
|
it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
it { mail['to'].to_s.should == user.email }
|
|
|
|
|
it { mail.multipart?.should == true } # because we send plain + html
|
|
|
|
|
|
|
|
|
|
# verify that the messages are correctly configured
|
|
|
|
|
it { mail.html_part.body.include?("Reset").should be_true }
|
|
|
|
|
it { mail.text_part.body.include?("Reset").should be_true }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "should send change password confirmation" do
|
|
|
|
|
|
|
|
|
|
let(:mail) { UserMailer.deliveries[0] }
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
UserMailer.password_changed(user).deliver
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it { UserMailer.deliveries.length.should == 1 }
|
|
|
|
|
|
|
|
|
|
it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
it { mail['to'].to_s.should == user.email }
|
|
|
|
|
it { mail.multipart?.should == true } # because we send plain + html
|
2012-11-12 12:28:44 +00:00
|
|
|
|
|
|
|
|
# verify that the messages are correctly configured
|
2013-06-24 21:31:40 +00:00
|
|
|
it { mail.html_part.body.include?("changed your password").should be_true }
|
|
|
|
|
it { mail.text_part.body.include?("changed your password").should be_true }
|
2012-11-12 12:28:44 +00:00
|
|
|
end
|
|
|
|
|
|
2013-06-24 21:31:40 +00:00
|
|
|
describe "should send update email confirmation" do
|
2012-11-12 12:28:44 +00:00
|
|
|
|
2013-06-24 21:31:40 +00:00
|
|
|
let(:mail) { UserMailer.deliveries[0] }
|
2012-11-12 12:28:44 +00:00
|
|
|
|
2013-06-24 21:31:40 +00:00
|
|
|
before(:each) do
|
|
|
|
|
UserMailer.updated_email(user).deliver
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it { UserMailer.deliveries.length.should == 1 }
|
|
|
|
|
|
|
|
|
|
it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
it { mail['to'].to_s.should == user.email }
|
|
|
|
|
it { mail.multipart?.should == true } # because we send plain + html
|
2012-11-12 12:28:44 +00:00
|
|
|
|
|
|
|
|
# verify that the messages are correctly configured
|
2013-06-24 21:31:40 +00:00
|
|
|
it { mail.html_part.body.include?("<b>#{user.email}</b> has been confirmed as your new email address.").should be_true }
|
|
|
|
|
it { mail.text_part.body.include?("#{user.email} has been confirmed as your new email address.").should be_true }
|
2012-11-12 12:28:44 +00:00
|
|
|
end
|
2013-06-24 21:31:40 +00:00
|
|
|
|
|
|
|
|
describe "should send updating email" do
|
|
|
|
|
|
|
|
|
|
let(:mail) { UserMailer.deliveries[0] }
|
|
|
|
|
|
|
|
|
|
before(:each) do
|
|
|
|
|
user.update_email = "my_new_email@jamkazam.com"
|
|
|
|
|
UserMailer.updating_email(user).deliver
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
it { UserMailer.deliveries.length.should == 1 }
|
|
|
|
|
|
|
|
|
|
it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
it { mail['to'].to_s.should == user.update_email }
|
|
|
|
|
it { mail.multipart?.should == true } # because we send plain + html
|
|
|
|
|
|
|
|
|
|
# verify that the messages are correctly configured
|
|
|
|
|
it { mail.html_part.body.include?("to confirm your change in email").should be_true }
|
|
|
|
|
it { mail.text_part.body.include?("to confirm your change in email").should be_true }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
2014-05-31 21:52:28 +00:00
|
|
|
# describe "sends new musicians email" do
|
2013-11-26 06:03:42 +00:00
|
|
|
|
2014-05-31 21:52:28 +00:00
|
|
|
# let(:mail) { UserMailer.deliveries[0] }
|
2013-11-26 06:03:42 +00:00
|
|
|
|
2014-05-31 21:52:28 +00:00
|
|
|
# before(:each) do
|
|
|
|
|
# UserMailer.new_musicians(user, User.musicians).deliver
|
|
|
|
|
# end
|
2013-11-26 06:03:42 +00:00
|
|
|
|
2014-05-31 21:52:28 +00:00
|
|
|
# it { UserMailer.deliveries.length.should == 1 }
|
2013-11-26 06:03:42 +00:00
|
|
|
|
2014-05-31 21:52:28 +00:00
|
|
|
# it { mail['from'].to_s.should == UserMailer::DEFAULT_SENDER }
|
|
|
|
|
# it { mail['to'].to_s.should == user.email }
|
|
|
|
|
# it { mail.multipart?.should == true } # because we send plain + html
|
2013-11-26 06:03:42 +00:00
|
|
|
|
2014-05-31 21:52:28 +00:00
|
|
|
# # verify that the messages are correctly configured
|
|
|
|
|
# it { mail.html_part.body.include?("New JamKazam Musicians in your Area").should be_true }
|
|
|
|
|
# it { mail.text_part.body.include?("New JamKazam Musicians in your Area").should be_true }
|
|
|
|
|
# end
|
2013-11-26 06:03:42 +00:00
|
|
|
|
2012-11-12 12:28:44 +00:00
|
|
|
end
|