mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
implement user creation by admin
This commit is contained in:
parent
f057900fb1
commit
93404d543f
5 changed files with 93 additions and 21 deletions
|
|
@ -6,7 +6,7 @@ describe Admin::UsersController do
|
|||
sign_in(admin)
|
||||
end
|
||||
describe 'GET #index' do
|
||||
it 'populates an array of users' do
|
||||
it 'sets up users array with existing users records' do
|
||||
user1 = create(:user, email: 'user1@email.osem')
|
||||
user2 = create(:user, email: 'user2@email.osem')
|
||||
user_deleted = User.find_by(name: 'User deleted')
|
||||
|
|
@ -50,4 +50,55 @@ describe Admin::UsersController do
|
|||
end
|
||||
end
|
||||
end
|
||||
describe 'GET #new' do
|
||||
it 'sets up a user instance for the form' do
|
||||
get :new
|
||||
expect(assigns(:user)).to be_instance_of(User)
|
||||
end
|
||||
it 'renders new user template' do
|
||||
get :new
|
||||
expect(response).to render_template :new
|
||||
end
|
||||
end
|
||||
|
||||
describe 'POST #create' do
|
||||
context 'saves successfuly' do
|
||||
before do
|
||||
post :create, user: attributes_for(:user)
|
||||
end
|
||||
|
||||
it 'redirects to admin users index path' do
|
||||
expect(response).to redirect_to admin_users_path
|
||||
end
|
||||
|
||||
it 'shows success message in flash notice' do
|
||||
expect(flash[:notice]).to match('User successfully created.')
|
||||
end
|
||||
|
||||
it 'creates new user' do
|
||||
expect(User.find(user.id)).to be_instance_of(User)
|
||||
end
|
||||
end
|
||||
|
||||
context 'save fails' do
|
||||
before do
|
||||
allow_any_instance_of(User).to receive(:save).and_return(false)
|
||||
post :create, user: attributes_for(:user)
|
||||
end
|
||||
|
||||
it 'renders new template' do
|
||||
expect(response).to render_template('new')
|
||||
end
|
||||
|
||||
it 'shows error in flash message' do
|
||||
expect(flash[:error]).to match("Creating User failed: #{user.errors.full_messages.join('. ')}.")
|
||||
end
|
||||
|
||||
it 'does not create new user' do
|
||||
expect do
|
||||
post :create, user: attributes_for(:user)
|
||||
end.not_to change{ Event.count }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue