Added user setup needed based on the system's registration settings

* Copied the register action's chunk of code used to setup the account
  based on Setting.self_registration
* Extracted method for when onthefly_creation_failed
* Added tests to confirm the behavior

  #699

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2446 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Eric Davis
2009-02-11 19:07:28 +00:00
parent 876fb69271
commit 8194cfaf86
2 changed files with 64 additions and 7 deletions
@@ -65,11 +65,13 @@ class AccountControllerTest < Test::Unit::TestCase
end
def test_login_with_openid
Setting.self_registration = '3'
post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to 'my/page'
end
def test_login_with_openid_with_new_user_created
Setting.self_registration = '3'
post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to 'my/page'
user = User.find_by_login('cool_user')
@@ -78,7 +80,28 @@ class AccountControllerTest < Test::Unit::TestCase
assert_equal 'User', user.lastname
end
def test_login_with_openid_with_new_user_created_with_email_activation_should_have_a_token
Setting.self_registration = '1'
post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to 'login'
user = User.find_by_login('cool_user')
assert user
token = Token.find_by_user_id_and_action(user.id, 'register')
assert token
end
def test_login_with_openid_with_new_user_created_with_manual_activation
Setting.self_registration = '2'
post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to 'login'
user = User.find_by_login('cool_user')
assert user
assert_equal User::STATUS_REGISTERED, user.status
end
def test_login_with_openid_with_new_user_with_conflict_should_register
Setting.self_registration = '3'
existing_user = User.new(:firstname => 'Cool', :lastname => 'User', :mail => 'user@somedomain.com')
existing_user.login = 'cool_user'
assert existing_user.save!