Move edit account action to show

This commit is contained in:
Anton Khorev 2025-02-17 02:35:09 +03:00
parent 9929c1b585
commit d1de8462d6
25 changed files with 75 additions and 71 deletions

View file

@ -42,7 +42,7 @@ module Accounts
post account_pd_declaration_path
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_nil flash[:notice]
assert_equal "You didn't confirm that you consider your edits to be in the Public Domain.", flash[:warning]

View file

@ -29,7 +29,7 @@ module Accounts
session_for(user)
get account_terms_path
assert_redirected_to edit_account_path
assert_redirected_to account_path
end
def test_show_not_seen_without_referer
@ -53,7 +53,7 @@ module Accounts
session_for(user)
put account_terms_path, :params => { :read_ct => 1, :read_tou => 1 }
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_equal "Thanks for accepting the new contributor terms!", flash[:notice]
user.reload
@ -82,8 +82,8 @@ module Accounts
user = create(:user, :terms_seen => false, :terms_agreed => nil)
session_for(user)
get edit_account_path
assert_redirected_to account_terms_path(:referer => "/account/edit")
get account_path
assert_redirected_to account_terms_path(:referer => account_path)
end
end
end

View file

@ -5,8 +5,8 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
# test all routes which lead to this controller
def test_routes
assert_routing(
{ :path => "/account/edit", :method => :get },
{ :controller => "accounts", :action => "edit" }
{ :path => "/account", :method => :get },
{ :controller => "accounts", :action => "show" }
)
assert_routing(
{ :path => "/account", :method => :put },
@ -16,9 +16,12 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
{ :path => "/account", :method => :delete },
{ :controller => "accounts", :action => "destroy" }
)
get "/account/edit"
assert_redirected_to "/account"
end
def test_account
def test_show_and_update
# Get a user to work with - note that this user deliberately
# conflicts with uppercase_user in the email and display name
# fields to test that we can change other fields without any
@ -28,14 +31,14 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
# Make sure that you are redirected to the login page when
# you are not logged in
get edit_account_path
assert_redirected_to login_path(:referer => "/account/edit")
get account_path
assert_redirected_to login_path(:referer => account_path)
# Make sure we get the page when we are logged in as the right user
session_for(user)
get edit_account_path
get account_path
assert_response :success
assert_template :edit
assert_template :show
assert_select "form#accountForm" do |form|
assert_equal "post", form.attr("method").to_s
assert_select "input[name='_method']", true
@ -45,9 +48,9 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
# Updating the description using GET should fail
user.description = "new description"
user.preferred_editor = "default"
get edit_account_path, :params => { :user => user.attributes }
get account_path, :params => { :user => user.attributes }
assert_response :success
assert_template :edit
assert_template :show
assert_not_equal user.description, User.find(user.id).description
# Adding external authentication should redirect to the auth provider
@ -60,7 +63,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
new_attributes = user.attributes.dup.merge(:display_name => create(:user).display_name)
patch account_path, :params => { :user => new_attributes }
assert_response :success
assert_template :edit
assert_template :show
assert_select ".alert-success", false
assert_select "form#accountForm > div > input.is-invalid#user_display_name"
@ -68,17 +71,17 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
new_attributes = user.attributes.dup.merge(:display_name => create(:user).display_name.upcase)
patch account_path, :params => { :user => new_attributes }
assert_response :success
assert_template :edit
assert_template :show
assert_select ".alert-success", false
assert_select "form#accountForm > div > input.is-invalid#user_display_name"
# Changing name to one that doesn't exist should work
new_attributes = user.attributes.dup.merge(:display_name => "new tester")
patch account_path, :params => { :user => new_attributes }
assert_redirected_to edit_account_path
assert_redirected_to account_path
follow_redirect!
assert_response :success
assert_template :edit
assert_template :show
assert_select ".alert-success", /^User information updated successfully/
assert_select "form#accountForm > div > input#user_display_name[value=?]", "new tester"
@ -93,7 +96,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
end
end
assert_response :success
assert_template :edit
assert_template :show
assert_select ".alert-success", false
assert_select "form#accountForm > div > input.is-invalid#user_new_email"
@ -105,7 +108,7 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
end
end
assert_response :success
assert_template :edit
assert_template :show
assert_select ".alert-success", false
assert_select "form#accountForm > div > input.is-invalid#user_new_email"
@ -116,10 +119,10 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
patch account_path, :params => { :user => user.attributes }
end
end
assert_redirected_to edit_account_path
assert_redirected_to account_path
follow_redirect!
assert_response :success
assert_template :edit
assert_template :show
assert_select ".alert-success", /^User information updated successfully/
assert_select "form#accountForm > div > input#user_new_email[value=?]", user.new_email
email = ActionMailer::Base.deliveries.first
@ -127,19 +130,19 @@ class AccountsControllerTest < ActionDispatch::IntegrationTest
assert_equal user.new_email, email.to.first
end
def test_private_account
def test_show_private_account
user = create(:user, :data_public => false)
# Make sure that you are redirected to the login page when
# you are not logged in
get edit_account_path
assert_redirected_to login_path(:referer => "/account/edit")
get account_path
assert_redirected_to login_path(:referer => account_path)
# Make sure we get the page when we are logged in as the right user
session_for(user)
get edit_account_path
get account_path
assert_response :success
assert_template :edit
assert_template :show
assert_select "form#accountForm" do |form|
assert_equal "post", form.attr("method").to_s
assert_select "input[name='_method']", true

View file

@ -248,7 +248,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
confirm_string = user.generate_token_for(:new_email)
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_match(/Confirmed your change of email address/, flash[:notice])
end
@ -257,13 +257,13 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
confirm_string = user.generate_token_for(:new_email)
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_match(/already been confirmed/, flash[:error])
end
def test_confirm_email_bad_token
post user_confirm_email_path, :params => { :confirm_string => "XXXXX" }
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_match(/confirmation code has expired or does not exist/, flash[:error])
end
@ -279,7 +279,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
# precondition gravatar should be turned off
assert_not user.image_use_gravatar
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_match(/Confirmed your change of email address/, flash[:notice])
# gravatar use should now be enabled
assert User.find(user.id).image_use_gravatar
@ -293,7 +293,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
# precondition gravatar should be turned on
assert user.image_use_gravatar
post user_confirm_email_path, :params => { :confirm_string => confirm_string }
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert_match(/Confirmed your change of email address/, flash[:notice])
# gravatar use should now be disabled
assert_not User.find(user.id).image_use_gravatar

View file

@ -195,7 +195,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
post user_go_public_path
assert_redirected_to edit_account_path
assert_redirected_to account_path
assert User.find(user.id).data_public
end
@ -249,7 +249,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_select "a[href='/user/#{ERB::Util.u(moderator_user.display_name)}/traces']", 1
assert_select "a[href='/user/#{ERB::Util.u(moderator_user.display_name)}/diary']", 1
assert_select "a[href='/user/#{ERB::Util.u(moderator_user.display_name)}/diary_comments']", 1
assert_select "a[href='/user/#{ERB::Util.u(moderator_user.display_name)}/account']", 0
assert_select "a[href='/account']", 0
assert_select "a[href='/user/#{ERB::Util.u(moderator_user.display_name)}/blocks']", 0
assert_select "a[href='/user/#{ERB::Util.u(moderator_user.display_name)}/blocks_by']", 1
assert_select "a[href='/user_blocks/new/#{ERB::Util.u(moderator_user.display_name)}']", 0
@ -266,7 +266,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_select "a[href='/traces/mine']", 1
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/diary']", 1
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/diary_comments']", 1
assert_select "a[href='/account/edit']", 1
assert_select "a[href='/account']", 1
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks']", 0
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks_by']", 0
assert_select "a[href='/user_blocks/new/#{ERB::Util.u(user.display_name)}']", 0
@ -284,7 +284,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/traces']", 1
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/diary']", 1
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/diary_comments']", 1
assert_select "a[href='/account/edit']", 0
assert_select "a[href='/account']", 0
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks']", 0
assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks_by']", 0
assert_select "a[href='/user_blocks/new/#{ERB::Util.u(user.display_name)}']", 1