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?

Peace,
Phillip
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to