agenda-libre-ruby/test/controllers/users_controller_test.rb

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