mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
50 lines
1.2 KiB
Ruby
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
|