Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/pull/5447'
Browse files Browse the repository at this point in the history
  • Loading branch information
tomhughes committed Dec 29, 2024
2 parents 2042cb1 + fcfb7d4 commit bdd36c7
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 32 deletions.
6 changes: 4 additions & 2 deletions app/views/confirmations/confirm.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -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 %>
4 changes: 2 additions & 2 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
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]
Expand Down
8 changes: 4 additions & 4 deletions test/controllers/confirmations_controller_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def test_routes
{ :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" }
)

Expand Down Expand Up @@ -193,7 +193,7 @@ def test_confirm_resend_success

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

Expand All @@ -216,7 +216,7 @@ def test_confirm_resend_deleted

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

Expand All @@ -227,7 +227,7 @@ def test_confirm_resend_deleted
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

Expand Down
23 changes: 0 additions & 23 deletions test/system/confirmation_resend_test.rb

This file was deleted.

38 changes: 38 additions & 0 deletions test/system/user_signup_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,44 @@ def setup
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 => "[email protected]"
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 "[email protected]", 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

Expand Down

0 comments on commit bdd36c7

Please sign in to comment.