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"