sample_rails_tailwind/test/integration/users_signup_test.rb
songtianlun 194e441c50 style: standardize quotes in tests
- Changed single quotes to double quotes in assertions for consistency.
- Updated routes file for spacing consistency in resource declaration.

These changes improve code readability and maintain consistency in the
codebase, making it easier for developers to follow the style guide.
2025-01-07 11:58:37 +08:00

54 lines
1.8 KiB
Ruby

require "test_helper"
class UsersSignupTest < ActionDispatch::IntegrationTest
def setup
ActionMailer::Base.deliveries.clear
end
test "invalid signup information" do
get signup_path
assert_no_difference "User.count" do
post users_path, params: { user: { name: "",
email: "user@invalid",
password: "foo",
password_confirmation: "bar" } }
end
assert_template "users/new"
assert_select "div#error_explanation"
assert_select "div.alert-danger"
end
test "valid signup information with account activation" do
get signup_path
assert_difference "User.count", 1 do
post users_path, params: { user: { name: "Example User",
email: "user@example.com",
password: "password",
password_confirmation: "password" } }
end
# follow_redirect!
# assert_template "users/show"
# assert_not flash.notice
# assert is_logged_in?
assert_equal 1, ActionMailer::Base.deliveries.size
user = assigns(:user)
assert_not user.activated?
# 尝试激活前登陆
log_in_as(user)
assert_not is_logged_in?
# 激活令牌无效
get edit_account_activation_path("invalid token", email: user.email)
assert_not is_logged_in?
# 令牌有效,邮箱错误
get edit_account_activation_path(user.activation_token, email: "wrong")
assert_not is_logged_in?
# 令牌有效
get edit_account_activation_path(user.activation_token, email: user.email)
assert user.reload.activated?
follow_redirect!
assert_template "users/show"
assert is_logged_in?
end
end