- Rename test for friendly forwarding to be more concise - Add a separate test for successful user edit These changes enhance the clarity of the test suite by providing a more descriptive name for the friendly forwarding test and separating the successful edit functionality into its own test case, improving maintainability and readability.
66 lines
2.0 KiB
Ruby
66 lines
2.0 KiB
Ruby
require "test_helper"
|
|
|
|
class UsersEditTest < ActionDispatch::IntegrationTest
|
|
def setup
|
|
@user = users(:michael)
|
|
end
|
|
|
|
test "friendly forwarding just in first login" do
|
|
get edit_user_path(@user)
|
|
log_in_as(@user)
|
|
assert_redirected_to edit_user_url(@user)
|
|
delete logout_path
|
|
assert_redirected_to root_url
|
|
log_in_as(@user)
|
|
assert_redirected_to user_url(@user)
|
|
end
|
|
|
|
test "friendly forwarding" do
|
|
get edit_user_path(@user)
|
|
log_in_as(@user)
|
|
assert_redirected_to edit_user_url(@user)
|
|
end
|
|
|
|
test "successful edit" do
|
|
log_in_as(@user)
|
|
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
|
|
log_in_as(@user)
|
|
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
|
|
|
|
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
|
|
end
|