From ef6edfff34888ae9c9564bfab84e5eade33e26c6 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Sun, 29 Dec 2024 04:09:42 +0300 Subject: [PATCH 1/1] Test signup with confirmation email --- test/system/user_signup_test.rb | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test/system/user_signup_test.rb b/test/system/user_signup_test.rb index 38690d3d9..ebd91340a 100644 --- a/test/system/user_signup_test.rb +++ b/test/system/user_signup_test.rb @@ -1,6 +1,43 @@ require "application_system_test_case" class UserSignupTest < ApplicationSystemTestCase + include ActionMailer::TestHelper + + def setup + stub_request(:get, /.*gravatar.com.*d=404/).to_return(:status => 404) + end + + test "Sign up with confirmation email" 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 1 do + click_on "Sign Up" + + assert_content "We sent you a confirmation email" + end + end + + email = ActionMailer::Base.deliveries.first + 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 -- 2.39.5