1 # frozen_string_literal: true
 
   3 require "application_system_test_case"
 
   5 class UserSignupTest < ApplicationSystemTestCase
 
   6   include ActionMailer::TestHelper
 
   9     stub_request(:get, /.*gravatar.com.*d=404/).to_return(:status => 404)
 
  12   test "Sign up with confirmation email" do
 
  17     within_content_body do
 
  18       fill_in "Email", :with => "new_user_account@example.com"
 
  19       fill_in "Display Name", :with => "new_user_account"
 
  20       fill_in "Password", :with => "new_user_password"
 
  21       fill_in "Confirm Password", :with => "new_user_password"
 
  26         assert_content "We sent you a confirmation email"
 
  30     email = ActionMailer::Base.deliveries.first
 
  31     assert_equal 1, email.to.count
 
  32     assert_equal "new_user_account@example.com", email.to.first
 
  33     email_text = email.parts[0].parts[0].decoded
 
  34     match = %r{/user/new_user_account/confirm\?confirm_string=\S+}.match(email_text)
 
  39     assert_content "new_user_account"
 
  40     assert_content "Welcome!"
 
  43   test "Sign up with confirmation email resending" do
 
  48     within_content_body do
 
  49       fill_in "Email", :with => "new_user_account@example.com"
 
  50       fill_in "Display Name", :with => "new_user_account"
 
  51       fill_in "Password", :with => "new_user_password"
 
  52       fill_in "Confirm Password", :with => "new_user_password"
 
  57         assert_content "We sent you a confirmation email"
 
  59         click_on "Resend the confirmation email"
 
  61         assert_content "Email Address or Username"
 
  65     assert_content "sent a new confirmation"
 
  66     assert_no_content "<p>"
 
  68     email = ActionMailer::Base.deliveries.last
 
  69     assert_equal 1, email.to.count
 
  70     assert_equal "new_user_account@example.com", email.to.first
 
  71     email_text = email.parts[0].parts[0].decoded
 
  72     match = %r{/user/new_user_account/confirm\?confirm_string=\S+}.match(email_text)
 
  77     assert_content "new_user_account"
 
  78     assert_content "Welcome!"
 
  81   test "Sign up from login page" do
 
  84     within_content_heading do
 
  88     within_content_body do
 
  89       assert_content "Confirm Password"