2025-01-03 10:55:42 +08:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class UsersEditTest < ActionDispatch::IntegrationTest
|
|
|
|
def setup
|
|
|
|
@user = users(:michael)
|
|
|
|
end
|
|
|
|
|
|
|
|
test "successful edit" do
|
2025-01-03 11:12:51 +08:00
|
|
|
log_in_as(@user)
|
2025-01-03 10:55:42 +08:00
|
|
|
get edit_user_path(@user)
|
|
|
|
assert_template 'users/edit'
|
|
|
|
name = "Foo Bae"
|
|
|
|
email = "foo@bar.com"
|
|
|
|
patch user_path(@user), params: { user: { name: name,
|
|
|
|
email: email,
|
|
|
|
password: "",
|
|
|
|
password_confirmation: "" } }
|
|
|
|
assert_not flash.empty?
|
|
|
|
assert_redirected_to @user
|
|
|
|
@user.reload
|
|
|
|
assert_equal name, @user.name
|
|
|
|
assert_equal email, @user.email
|
|
|
|
end
|
|
|
|
|
|
|
|
test "unsuccessful edit" do
|
2025-01-03 11:12:51 +08:00
|
|
|
log_in_as(@user)
|
2025-01-03 10:55:42 +08:00
|
|
|
get edit_user_path(@user)
|
|
|
|
assert_template 'users/edit'
|
|
|
|
patch user_path(@user), params: { user: { name: "",
|
|
|
|
email: "foo@invalid",
|
|
|
|
password: "foo",
|
|
|
|
password_confirmation: "bar"
|
|
|
|
} }
|
|
|
|
assert_template 'users/edit'
|
|
|
|
end
|
2025-01-03 11:12:51 +08:00
|
|
|
|
|
|
|
test "should redirect edit when not logged in" do
|
|
|
|
get edit_user_path(@user)
|
|
|
|
assert_not flash.empty?
|
|
|
|
assert_redirected_to login_url
|
|
|
|
end
|
|
|
|
|
|
|
|
test "should redirect update when not logged in" do
|
|
|
|
patch user_path(@user), params: { user: { name: @user.name,
|
|
|
|
email: @user.email } }
|
|
|
|
assert_not flash.empty?
|
|
|
|
assert_redirected_to login_url
|
|
|
|
end
|
2025-01-03 10:55:42 +08:00
|
|
|
end
|