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