Move edit account action to show
This commit is contained in:
parent
9929c1b585
commit
d1de8462d6
25 changed files with 75 additions and 71 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue