Reinstate email changes
This commit is contained in:
committed by
Mike Dalessio
parent
4d8b3ed719
commit
56c41d45eb
@@ -0,0 +1,35 @@
|
||||
require "test_helper"
|
||||
|
||||
class Users::EmailAddresses::ConfirmationsControllerTest < ActionDispatch::IntegrationTest
|
||||
setup do
|
||||
@user = users(:david)
|
||||
@new_email = "newemail@example.com"
|
||||
@token = @user.send(:generate_email_address_change_token, to: @new_email)
|
||||
end
|
||||
|
||||
test "show" do
|
||||
untenanted do
|
||||
get user_email_address_confirmation_path(user_id: @user.id, email_address_token: @token)
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
test "create" do
|
||||
old_email = @user.identity.email_address
|
||||
|
||||
untenanted do
|
||||
post user_email_address_confirmation_path(user_id: @user.id, email_address_token: @token)
|
||||
|
||||
assert_equal @new_email, @user.reload.identity.email_address
|
||||
assert_redirected_to edit_user_url(script_name: @user.account.slug, id: @user)
|
||||
end
|
||||
end
|
||||
|
||||
test "create with invalid token" do
|
||||
untenanted do
|
||||
assert_raises(ArgumentError) do
|
||||
post user_email_address_confirmation_path(user_id: @user.id, email_address_token: "invalid")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,48 @@
|
||||
require "test_helper"
|
||||
|
||||
class Users::EmailAddressesControllerTest < ActionDispatch::IntegrationTest
|
||||
include ActionMailer::TestHelper
|
||||
|
||||
setup do
|
||||
sign_in_as :david
|
||||
@user = users(:david)
|
||||
end
|
||||
|
||||
test "new" do
|
||||
untenanted do
|
||||
get new_user_email_address_path(@user)
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
test "create" do
|
||||
untenanted do
|
||||
assert_emails 1 do
|
||||
post user_email_addresses_path(@user), params: { email_address: "newemail@example.com" }
|
||||
end
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
test "create with existing email in same account" do
|
||||
existing_user = users(:kevin)
|
||||
existing_email = existing_user.identity.email_address
|
||||
|
||||
untenanted do
|
||||
post user_email_addresses_path(@user), params: { email_address: existing_email }
|
||||
assert_redirected_to new_user_email_address_path(@user)
|
||||
assert_equal "You already have a user in this account with that email address", flash[:alert]
|
||||
end
|
||||
end
|
||||
|
||||
test "create for other user" do
|
||||
other_user = users(:kevin)
|
||||
|
||||
untenanted do
|
||||
assert_no_emails do
|
||||
post user_email_addresses_path(other_user), params: { email_address: "newemail@example.com" }
|
||||
end
|
||||
assert_response :not_found
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user