Skip to content

Instantly share code, notes, and snippets.

@vanstee
Created August 23, 2012 21:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vanstee/3442358 to your computer and use it in GitHub Desktop.
Save vanstee/3442358 to your computer and use it in GitHub Desktop.
Y U NO RECEIVED UPDATE_ATTRIBUTES!?
class Admin::UsersController < Admin::AdminController
def index
@users = User.all
respond_to do |format|
format.html
end
end
def show
@user = User.find(params[:id])
respond_to do |format|
format.html
end
end
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
flash[:success] = 'Updated user successfully'
format.html { redirect_to [:admin, @user] }
else
format.html { render 'show', status: 400 }
end
end
end
end
describe Admin::UsersController, 'update' do
sign_in_admin
let(:user) { mock_model(User, id: 1, update_attributes: true) }
before :each do
User.stub(:find) { user }
end
it 'assigns user' do
put :update, id: 1, user: { admin: true }
assigns(:user).should == user
end
it 'should receive update_attributes' do
user.should_receive(:update_attributes) { true }
put :update, id: 1, user: { admin: true }
end
it 'redirects to user on valid update' do
put :update, id: 1, user: { admin: true }
response.should redirect_to(admin_user_path(user))
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment