Mocking problem in controller

I am having a lot of trouble figure out how to mock one my controller
methods. I was hoping someone might be able to help me.


Controller:

def create

@objective = current_user.objectives.create(params[:objective])

end

RSpec:

it “should create a new objective and return new id” do
obj = Objective.plan(:user_id => @user.id)
post :create, :objective => obj
response.should be_success
json = ActiveSupport::JSON.decode(response.body)
json[“id”].should == assigns[:objective].id
end


As you can see, I am not mocking current_user.objectives.create so I
have to look at assigns[:objective] to test that things are working.
How would I go about mocking it?

Thanks in advance for all your help.

On Oct 27, 2009, at 3:51 pm, drewB wrote:

As you can see, I am not mocking current_user.objectives.create so I
have to look at assigns[:objective] to test that things are working.
How would I go about mocking it?

Hi Drew

A virtually identical question was asked recently. Hopefully the
replies to that will help:

http://rubyforge.org/pipermail/rspec-users/2009-October/015612.html

Ashley


http://www.patchspace.co.uk/
http://www.linkedin.com/in/ashleymoran

Thanks! That was very helpful. I did do some searching but didn’t
come up with that result.

On Oct 27, 11:16 am, Ashley M. [email protected]