Simplify handling of verified emails in OpenID signup
Also make sure that all paths that lead to OpenID based signup will notice a verified email properly.
This commit is contained in:
parent
104727f889
commit
b7b68aee36
5 changed files with 107 additions and 67 deletions
|
@ -216,7 +216,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
display_name = "new_tester"
|
||||
assert_difference('User.count') do
|
||||
assert_difference('ActionMailer::Base.deliveries.size') do
|
||||
post :save, {:user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}}
|
||||
session[:new_user] = User.new({
|
||||
:status => "pending", :display_name => display_name,
|
||||
:email => new_email, :email_confirmation => new_email,
|
||||
:pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"
|
||||
}, :without_protection => true)
|
||||
|
||||
post :save
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -237,7 +243,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
display_name = "new_tester"
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post :save, :user => { :email => email, :email_confirmation => email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}
|
||||
session[:new_user] = User.new({
|
||||
:status => "pending", :display_name => display_name,
|
||||
:email => email, :email_confirmation => email,
|
||||
:pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"
|
||||
}, :without_protection => true)
|
||||
|
||||
post :save
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
|
@ -251,7 +263,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
display_name = "new_tester"
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post :save, :user => { :email => email, :email_confirmation => email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}
|
||||
session[:new_user] = User.new({
|
||||
:status => "pending", :display_name => display_name,
|
||||
:email => email, :email_confirmation => email,
|
||||
:pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"
|
||||
}, :without_protection => true)
|
||||
|
||||
post :save
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
|
@ -265,7 +283,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
display_name = users(:public_user).display_name
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post :save, :user => { :email => email, :email_confirmation => email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}
|
||||
session[:new_user] = User.new({
|
||||
:status => "pending", :display_name => display_name,
|
||||
:email => email, :email_confirmation => email,
|
||||
:pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"
|
||||
}, :without_protection => true)
|
||||
|
||||
post :save
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
|
@ -279,7 +303,13 @@ class UserControllerTest < ActionController::TestCase
|
|||
display_name = users(:public_user).display_name.upcase
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post :save, :user => { :email => email, :email_confirmation => email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}
|
||||
session[:new_user] = User.new({
|
||||
:status => "pending", :display_name => display_name,
|
||||
:email => email, :email_confirmation => email,
|
||||
:pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"
|
||||
}, :without_protection => true)
|
||||
|
||||
post :save
|
||||
end
|
||||
end
|
||||
assert_response :success
|
||||
|
|
|
@ -21,7 +21,7 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
display_name = "#{localer.to_s}_new_tester"
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post '/user/save',
|
||||
post '/user/terms',
|
||||
{:user => { :email => dup_email, :email_confirmation => dup_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}},
|
||||
{"HTTP_ACCEPT_LANGUAGE" => localer.to_s}
|
||||
end
|
||||
|
@ -41,7 +41,7 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
email = "#{locale.to_s}_new_tester"
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post '/user/save',
|
||||
post '/user/terms',
|
||||
{:user => {:email => email, :email_confirmation => email, :display_name => dup_display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}},
|
||||
{"HTTP_ACCEPT_LANGUAGE" => locale.to_s}
|
||||
end
|
||||
|
@ -58,10 +58,20 @@ class UserCreationTest < ActionController::IntegrationTest
|
|||
I18n.available_locales.each do |locale|
|
||||
new_email = "#{locale.to_s}newtester@osm.org"
|
||||
display_name = "#{locale.to_s}_new_tester"
|
||||
|
||||
assert_difference('User.count', 0) do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 0) do
|
||||
post "/user/terms",
|
||||
{:user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}}
|
||||
end
|
||||
end
|
||||
|
||||
assert_response :success
|
||||
assert_template 'user/terms'
|
||||
|
||||
assert_difference('User.count') do
|
||||
assert_difference('ActionMailer::Base.deliveries.size', 1) do
|
||||
post_via_redirect "/user/save",
|
||||
{:user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest"}},
|
||||
post_via_redirect "/user/save", {},
|
||||
{"HTTP_ACCEPT_LANGUAGE" => "#{locale.to_s}"}
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue