I have a helper method
def login_as(role) user = stub_model(User) user.stub(:is_administrator?).and_return(role == :admin) User.stub(:find_by_id).and_return(user) session[:user_id] = user.id user end
which has been dandy until yesterday. I am now working on an admin
controller for user maintenance, and in it, I want to do this:
before :each do login_as(:admin) @some_user = stub_model(User, valid_user_hash) User.stub(:find_by_id).and_return(@some_user) end
which obviously conflicts with the stub in login_as.
I have experimented with adding .with() to each one, hoping that
multiple stubs would be created, but that does not seem to be the case.
Is there a way to stub the same method but have it return different
values? Or can someone suggest a better way of handling this situation?