mirror of
https://github.com/openSUSE/osem.git
synced 2026-01-31 09:12:46 -05:00
41 lines
1.2 KiB
Ruby
41 lines
1.2 KiB
Ruby
require 'spec_helper'
|
|
describe Admin::UsersController do
|
|
let(:admin) { create(:admin) }
|
|
let(:user) { create(:user) }
|
|
before(:each) do
|
|
sign_in(admin)
|
|
end
|
|
describe 'GET #index' do
|
|
it 'populates an array of users' do
|
|
user1 = create(:user, email: 'user1@email.osem')
|
|
user2 = create(:user, email: 'user2@email.osem')
|
|
user_deleted = User.find_by(name: 'User deleted')
|
|
get :index
|
|
expect(assigns(:users)).to match_array([user_deleted, user, admin, user1, user2])
|
|
end
|
|
it 'renders index template' do
|
|
get :index
|
|
expect(response).to render_template :index
|
|
end
|
|
end
|
|
describe 'PATCH #update' do
|
|
context 'valid attributes' do
|
|
before :each do
|
|
patch :update, id: user.id, user: { name: 'new name', email: 'new_email@osem.io' }
|
|
end
|
|
|
|
it 'locates requested @user' do
|
|
expect(build(:user, id: user.id)).to eq(user)
|
|
end
|
|
it 'changes @users attributes' do
|
|
expect(build(
|
|
:user, email: 'email_new@osem.io', id: user.id).email).
|
|
to eq('email_new@osem.io')
|
|
end
|
|
it 'redirects to the updated user' do
|
|
expect(response).to redirect_to admin_users_path
|
|
end
|
|
end
|
|
end
|
|
end
|