Replace resent confirmation link with button
This commit is contained in:
parent
127e376bf0
commit
fcfb7d4af1
6 changed files with 49 additions and 32 deletions
|
@ -28,7 +28,9 @@
|
|||
</h1>
|
||||
|
||||
<p class='text-body-secondary'>
|
||||
<%= t ".resend_html",
|
||||
:reconfirm_link => link_to(t(".click_here"), url_for(:action => "confirm_resend")) %>
|
||||
<%= t ".if_need_resend" %>
|
||||
</p>
|
||||
<%= bootstrap_form_tag :url => url_for(:action => "confirm_resend") do |f| %>
|
||||
<%= f.submit t(".resend_button"), :class => "btn btn-outline-primary" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
@ -1726,8 +1726,8 @@ en:
|
|||
success: "Confirmed your account, thanks for signing up!"
|
||||
already active: "This account has already been confirmed."
|
||||
unknown token: "That confirmation code has expired or does not exist."
|
||||
resend_html: "If you need us to resend the confirmation email, %{reconfirm_link}."
|
||||
click_here: click here
|
||||
if_need_resend: "If you need us to resend the confirmation email, click the button below."
|
||||
resend_button: Resend the confirmation email
|
||||
confirm_resend:
|
||||
failure: "User %{name} not found."
|
||||
confirm_email:
|
||||
|
|
|
@ -186,7 +186,7 @@ OpenStreetMap::Application.routes.draw do
|
|||
post "/user/new" => "users#create"
|
||||
get "/user/terms" => "users#terms"
|
||||
post "/user/save" => "users#save"
|
||||
get "/user/:display_name/confirm/resend" => "confirmations#confirm_resend", :as => :user_confirm_resend
|
||||
post "/user/:display_name/confirm/resend" => "confirmations#confirm_resend", :as => :user_confirm_resend
|
||||
match "/user/:display_name/confirm" => "confirmations#confirm", :via => [:get, :post]
|
||||
match "/user/confirm" => "confirmations#confirm", :via => [:get, :post]
|
||||
match "/user/confirm-email" => "confirmations#confirm_email", :via => [:get, :post]
|
||||
|
|
|
@ -13,7 +13,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
|
|||
{ :controller => "confirmations", :action => "confirm", :display_name => "username" }
|
||||
)
|
||||
assert_routing(
|
||||
{ :path => "/user/username/confirm/resend", :method => :get },
|
||||
{ :path => "/user/username/confirm/resend", :method => :post },
|
||||
{ :controller => "confirmations", :action => "confirm_resend", :display_name => "username" }
|
||||
)
|
||||
|
||||
|
@ -193,7 +193,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
|
|||
|
||||
assert_difference "ActionMailer::Base.deliveries.size", 1 do
|
||||
perform_enqueued_jobs do
|
||||
get user_confirm_resend_path(user)
|
||||
post user_confirm_resend_path(user)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -216,7 +216,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
|
|||
|
||||
assert_no_difference "ActionMailer::Base.deliveries.size" do
|
||||
perform_enqueued_jobs do
|
||||
get user_confirm_resend_path(user)
|
||||
post user_confirm_resend_path(user)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -227,7 +227,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
|
|||
def test_confirm_resend_unknown_user
|
||||
assert_no_difference "ActionMailer::Base.deliveries.size" do
|
||||
perform_enqueued_jobs do
|
||||
get user_confirm_resend_path(:display_name => "No Such User")
|
||||
post user_confirm_resend_path(:display_name => "No Such User")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
require "application_system_test_case"
|
||||
|
||||
class ConfirmationResendSystemTest < ApplicationSystemTestCase
|
||||
def setup
|
||||
@user = build(:user)
|
||||
visit user_new_path
|
||||
|
||||
within ".new_user" do
|
||||
fill_in "Email", :with => @user.email
|
||||
fill_in "Display Name", :with => @user.display_name
|
||||
fill_in "Password", :with => "testtest"
|
||||
fill_in "Confirm Password", :with => "testtest"
|
||||
click_on "Sign Up"
|
||||
end
|
||||
end
|
||||
|
||||
test "flash message should not contain raw html" do
|
||||
visit user_confirm_resend_path(@user)
|
||||
|
||||
assert_content "sent a new confirmation"
|
||||
assert_no_content "<p>"
|
||||
end
|
||||
end
|
|
@ -38,6 +38,44 @@ class UserSignupTest < ApplicationSystemTestCase
|
|||
assert_content "Welcome!"
|
||||
end
|
||||
|
||||
test "Sign up with confirmation email resending" do
|
||||
visit root_path
|
||||
|
||||
click_on "Sign Up"
|
||||
|
||||
within_content_body do
|
||||
fill_in "Email", :with => "new_user_account@example.com"
|
||||
fill_in "Display Name", :with => "new_user_account"
|
||||
fill_in "Password", :with => "new_user_password"
|
||||
fill_in "Confirm Password", :with => "new_user_password"
|
||||
|
||||
assert_emails 2 do
|
||||
click_on "Sign Up"
|
||||
|
||||
assert_content "We sent you a confirmation email"
|
||||
|
||||
click_on "Resend the confirmation email"
|
||||
|
||||
assert_content "Email Address or Username"
|
||||
end
|
||||
end
|
||||
|
||||
assert_content "sent a new confirmation"
|
||||
assert_no_content "<p>"
|
||||
|
||||
email = ActionMailer::Base.deliveries.last
|
||||
assert_equal 1, email.to.count
|
||||
assert_equal "new_user_account@example.com", email.to.first
|
||||
email_text = email.parts[0].parts[0].decoded
|
||||
match = %r{/user/new_user_account/confirm\?confirm_string=\S+}.match(email_text)
|
||||
assert_not_nil match
|
||||
|
||||
visit match[0]
|
||||
|
||||
assert_content "new_user_account"
|
||||
assert_content "Welcome!"
|
||||
end
|
||||
|
||||
test "Sign up from login page" do
|
||||
visit login_path
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue