82 lines
1.6 KiB
Ruby
82 lines
1.6 KiB
Ruby
require 'test_helper'
|
|
|
|
# Test moderator management controller
|
|
class UsersControllerTest < ActionController::TestCase
|
|
include Devise::Test::ControllerHelpers
|
|
|
|
setup do
|
|
@user = users(:one)
|
|
|
|
sign_in users(:one)
|
|
end
|
|
|
|
test 'should get index' do
|
|
get :index
|
|
assert_response :success
|
|
assert_not_nil assigns(:users)
|
|
end
|
|
|
|
test 'should get new' do
|
|
get :new
|
|
assert_response :success
|
|
end
|
|
|
|
test 'should create user' do
|
|
assert_difference('User.count') do
|
|
post :create, 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 :create, user: {
|
|
login: nil
|
|
}
|
|
end
|
|
end
|
|
|
|
test 'should show user' do
|
|
get :show, id: @user
|
|
assert_response :success
|
|
end
|
|
|
|
test 'should get edit' do
|
|
get :edit, id: @user
|
|
assert_response :success
|
|
end
|
|
|
|
test 'should update user' do
|
|
patch :update, id: @user, 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 :update, id: @user, user: {
|
|
login: nil
|
|
}
|
|
|
|
assert_not_empty assigns(:user).errors
|
|
end
|
|
|
|
test 'should destroy user' do
|
|
assert_difference('User.count', -1) do
|
|
delete :destroy, id: @user
|
|
end
|
|
|
|
assert_redirected_to users_path
|
|
end
|
|
end
|