[rspec-users] Passing user id to spec | error

David Chelimsky dchelimsky at gmail.com
Fri May 15 10:43:29 EDT 2009


On Fri, May 15, 2009 at 1:02 AM, manoah <diwakar at angleritech.com> wrote:
>
>  -----Controller --------------
> def update
>    @user = User.find_by_id( user.id )

This uses user.id, not params[:id]

>    if request.post?
>
>      unless params[ :user ].nil?
>
>        if @user.update_attributes( params[ :user ] )
>          redirect_to :action => :show
>
>        end
>      else
>        render :status => 400,
>               :text => 'No user parameters
> end
>
>  ------- spec -------------
> describe UserProfilesController do
>
>  before(:each) do
>    @user = mock_model(User)

The @user gets defined with an ID of 1001 (in this case). Try:

  @user = mock_model(User, :id => 1)

HTH,
David

>    controller.stub!(:requires_user).and_return @user
>    controller.stub!(:user).and_return @user
>    User.stub!(:find_by_id).and_return(@user)
>    @user.stub!(:update_attributes).and_return(true)
>  end
>
> it "should find User and return object" do
>  User.should_receive(:find_by_id).with("1").and_return(@user)
>   @user.should_receive(:update_attributes).and_return(true)
>  post :update, :id =>"1", :user => {}
> end
> end
>
> ------- Error --------------------------------
> <User(id: integer, created_on: datetime, updated_on: datetime, destroyed_on:
> dat
> etime, accessed_on: datetime, email_address: string, name_first: string,
> name_la
> st: string, mailing_address_id: integer, billing_address_id: integer,
> name_displ
> ay: string, picture_id: integer, url: string, country: string, freelance:
> boolea
> n, statement: string, hostname_active: boolean, hostname: string,
> promotional_ma
> ilings: boolean, sales_commission_rate: float, referral_commission_rate:
> float,
> employee_lock: boolean) (class)> expected :find_by_id with ("1") but
> received it
>  with ([1001])
>
> How shall I pass the id to the spec. Please help overcome this issue
>
> --
> View this message in context: http://www.nabble.com/Passing-user-id-to-spec-%7C-error-tp23553916p23553916.html
> Sent from the rspec-users mailing list archive at Nabble.com.
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list