Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rails_helper'
- require 'authenticate_helper'
- describe Api::V1::UsersController do
- before { authenticate_user! }
- describe '#update_user' do
- let(:user_role) { user.user_roles.build }
- let(:user_params) { user.as_json }
- let(:current_user) { double 'current_user', admin?: admin? }
- before { allow(controller).to receive(:response).and_return response }
- before { allow(controller).to receive(:user_params).and_return user_params }
- before { allow(controller).to receive(:user_params_with_company).and_return user_params }
- before { allow(controller).to receive(:user_roles).and_return [user_role] }
- before { allow(controller).to receive(:current_user).and_return current_user }
- context 'admin' do
- let(:user) { build :user }
- let(:admin?) { true }
- it 'updates user without password validation' do
- expect(controller).to receive(:user).exactly(4).times.and_return user
- expect(user).to receive(:skip_password=).with true
- expect(user).to receive(:update!).with user_params
- end
- end
- context 'user' do
- let(:user) { build :user }
- let(:admin?) { false }
- it 'updates user with password validation' do
- expect(controller).to receive(:user).exactly(3).times.and_return user
- expect(user).not_to receive :skip_password=
- expect(user).to receive(:update!).and_return user_params
- end
- end
- after { controller.send :update_user }
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement