notebook/test/controllers/users_controller_test.rb
2015-03-31 23:57:29 -05:00

50 lines
1.2 KiB
Ruby

require 'test_helper'
# Tests for the UsersController class
class UsersControllerTest < ActionController::TestCase
test 'editing a user requires login' do
get :edit, id: users(:tolkien).id
assert_redirected_to signup_path
end
test 'updating a user requires login' do
@user = users(:tolkien)
put :update, id: @user, user: { password: 'Hacked!' }
assert_redirected_to signup_path
end
test 'logged-in user can edit self' do
log_in_user :tolkien
get :edit, id: users(:tolkien).id
assert_response :success
end
test 'create user' do
assert_difference('User.count') do
post :create, user: {
name: 'ChrisTolkien',
password: 'HiDad',
email: 'tolkienjr@example.com'
}
end
assert_redirected_to homepage_path
end
test 'can create an anonymous account' do
get :anonymous_login
assert_redirected_to dashboard_path
end
test 'can update user' do
log_in_user :tolkien
post :update, user: {
name: 'JRRTolkien',
password: 'Mellon',
email: 'jrr@localhost'
}
assert_redirected_to homepage_path
assert_not_nil assigns(:user)
assert_equal assigns(:user).email, 'jrr@localhost'
end
end