Of course. Thanks, David! I still am getting used to user=, rather than just
user. Thanks again.

-Corey

On Jan 23, 2008 9:46 AM, David Chelimsky <[EMAIL PROTECTED]> wrote:

> 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
>



-- 
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

Reply via email to