82 lines
1.7 KiB
Ruby
82 lines
1.7 KiB
Ruby
require 'test_helper'
|
|
|
|
# Test moderator management controller
|
|
class UsersControllerTest < ActionDispatch::IntegrationTest
|
|
include Devise::Test::IntegrationHelpers
|
|
|
|
setup do
|
|
@user = users(:one)
|
|
|
|
sign_in users(:one)
|
|
end
|
|
|
|
test 'should get index' do
|
|
get users_url
|
|
assert_response :success
|
|
assert_not_nil assigns(:users)
|
|
end
|
|
|
|
test 'should get new' do
|
|
get new_user_url
|
|
assert_response :success
|
|
end
|
|
|
|
test 'should create user' do
|
|
assert_difference('User.count') do
|
|
post users_url, params: {
|
|
user: {
|
|
email: 'original@example.com',
|
|
firstname: @user.firstname,
|
|
lastname: @user.lastname,
|
|
login: @user.login,
|
|
password: 'abcdefghijklmnopqrstuvwxyz'
|
|
}
|
|
}
|
|
end
|
|
|
|
assert_redirected_to user_path(assigns(:user))
|
|
end
|
|
|
|
test 'should not create user' do
|
|
assert_no_difference('User.count') do
|
|
post users_url, params: { user: { login: nil } }
|
|
end
|
|
end
|
|
|
|
test 'should show user' do
|
|
get user_url(@user)
|
|
assert_response :success
|
|
end
|
|
|
|
test 'should get edit' do
|
|
get edit_user_url(@user)
|
|
assert_response :success
|
|
end
|
|
|
|
test 'should update user' do
|
|
patch user_url(@user), params: {
|
|
user: {
|
|
email: @user.email,
|
|
firstname: @user.firstname,
|
|
lastname: @user.lastname,
|
|
login: @user.login
|
|
}
|
|
}
|
|
assert_redirected_to user_path(assigns(:user))
|
|
end
|
|
|
|
test 'should not update user' do
|
|
patch user_url(@user), params: { user: { login: nil } }
|
|
|
|
assert_not_empty assigns(:user).errors
|
|
end
|
|
|
|
test 'should destroy user' do
|
|
assert_difference('User.count', -1) do
|
|
delete user_url(@user)
|
|
end
|
|
|
|
assert_redirected_to users_path
|
|
end
|
|
end
|