From a49c7f95e236422d560e09a1ecc0555279ab0bbe Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 12 Dec 2010 15:26:55 +0000 Subject: [PATCH] Fixes password sending when creating user. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4500 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/users_controller.rb | 2 +- test/functional/users_controller_test.rb | 36 +++++++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c3c63d73..8bdc1061 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -105,7 +105,7 @@ class UsersController < ApplicationController @user.pref.save @user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : []) - Mailer.deliver_account_information(@user, params[:password]) if params[:send_information] + Mailer.deliver_account_information(@user, params[:user][:password]) if params[:send_information] respond_to do |format| format.html { diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index c9c2c0ee..d8493740 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -168,7 +168,41 @@ class UsersControllerTest < ActionController::TestCase should_respond_with :success should_render_template :new end - + end + + def test_create + Setting.bcc_recipients = '1' + + assert_difference 'User.count' do + assert_difference 'ActionMailer::Base.deliveries.size' do + post :create, + :user => { + :firstname => 'John', + :lastname => 'Doe', + :login => 'jdoe', + :password => 'secret', + :password_confirmation => 'secret', + :mail => 'jdoe@gmail.com', + :mail_notification => 'none' + }, + :send_information => '1' + end + end + + user = User.first(:order => 'id DESC') + assert_redirected_to :controller => 'users', :action => 'edit', :id => user.id + + assert_equal 'John', user.firstname + assert_equal 'Doe', user.lastname + assert_equal 'jdoe', user.login + assert_equal 'jdoe@gmail.com', user.mail + assert_equal 'none', user.mail_notification + assert user.check_password?('secret') + + mail = ActionMailer::Base.deliveries.last + assert_not_nil mail + assert_equal [user.mail], mail.bcc + assert mail.body.include?('secret') end def test_update