- 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.
54 lines
1.8 KiB
Ruby
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
|