On Jan 23, 2008 8:41 AM, Corey Haines <[EMAIL PROTECTED]> wrote: > All, > > I'm missing something simple, I think. I am writing a spec to say that my > CouponController should create a new coupon from the form parameters, then > set the current user. Here's the spec: > > describe CouponController, "When posting to save_coupon" do > > before(:each) do > @expectedName = "pepper's" > @expectedAmount = 5 > > coupon = mock_model Coupon > current_user = mock_model User > controller.stub!(:current_user).and_return(current_user) > > Coupon.should_receive(:new).with({"name"=>@expectedName,"amount"=>@expectedAmount}).and_return(coupon) > coupon.should_receive(:user).with(current_user) > coupon.should_receive(:save) > end > > it "should tell the Coupon model to create a new coupon with the given > parameters and save" do > post > 'save_coupon',{:coupon=>{:name=>@expectedName,:amount=>@expectedAmount}} > end > > Here's the controller method: > > def save_coupon > coupon = Coupon.new(params[:coupon]) > coupon.user = current_user > coupon.save > redirect_to_index "Coupon Added!" > end > > And, I get the following failure: > > Mock 'Coupon_1008' received unexpected message :user= with (#<User:0x221a3e8 > @name="User_1009">)
That's from this line in save_coupon: coupon.user = current_user Just need to stub that: coupon.stub!(:user=) Or you could expect it: coupon.should_receive(:user=).with(current_user) Cheers, David > > I'm sure that I'm missing something very simple, but I've been staring at it > for too long. > > (also, if anyone has commented on my style, please feel free to mention it, > as I'm still adjusting my mind to rspec) > > Oh, versions, I almost forgot: > rails 2.0.2 > rspec(_on_rails) plugins just updated from current a couple days ago, not > totally sure how to get the versions of the plugins > > > Thanks. > -Corey > > -- > http://www.coreyhaines.com > The Internet's Premiere source of information about Corey Haines > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users