[rspec-users] passing param values

David Chelimsky dchelimsky at gmail.com
Tue May 26 23:35:40 EDT 2009


On Fri, May 22, 2009 at 7:29 AM, Diwakar, ANGLER - EIT
<diwakar at angleritech.com> wrote:
>
> Still I am getting the same error
>
> describe UsersController do
>
>  describe :create       do
>  before(:each)  do
>    controller.stub!(:require_user).and_return(@user)
>    controller.stub!(:uses_mailer).and_return(@user)
>    User.stub!(:new).and_return(@user)
>     post :create,{:terms_and_conditions => "1",:promotional_mailings => "0",:email_address => "raja at test.com"},:user => {}
>  end
>  it "should create a new user object" do
>      User.should_receive(:new).with({"terms_and_conditions" => "1","promotional_mailings" => "0","email_address" => "raja at test.com"}).and_return(@user)
>      post :create,{:terms_and_conditions => "1",:promotional_mailings => "0",:email_address => "raja at test.com"},:user => {}
>  end
>  end
> end
>
> Error
>
> Spec::Mocks::MockExpectationError in 'UsersController create should create a new
>  user object'
> <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 :new with ({"terms_and_conditions"=>"1
> ", "promotional_mailings"=>"0", "email_address"=>"raja at test.com"}) once, but rec
> eived it 0 times

Please show us the controller code.

>
>
> -----Original Message-----
> From: rspec-users-bounces at rubyforge.org [mailto:rspec-users-bounces at rubyforge.org] On Behalf Of David Chelimsky
> Sent: Friday, May 22, 2009 4:19 PM
> To: rspec-users
> Subject: Re: [rspec-users] passing param values
>
> On Fri, May 22, 2009 at 4:34 AM, Diwakar, ANGLER - EIT <diwakar at angleritech.com> wrote:
>> My controller spec is like below
>>
>> describe UsersController do
>>
>>  describe " create action" do
>>   before(:each)  do
>>     @user = mock_model(User,:user => "value")
>
> #don't need to set the user in this
> @user = mock_model(User)
>
>>     controller.stub!(:require_user).and_return(@user)
>>     controller.stub!(:uses_mailer).and_return(@user)
>>     User.stub!(:new).and_return(@user)
>>   end
>>   it "should create a new user object" do
>>       User.should_receive(:new).with(:user=>"value").and_return(@user)
>
> #use 'user' instead of :user because Rails converts the keys User.should_receive(:new).with('user' => 'value').and_return(@user)
>
>>       post :create,:user => "value"
>>   end
>>  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 :new with ({:user=>"value"})
>> once, but
>>  received it 0 times
>>
>> How should I pass the params?
>>
>>
>> Diwa
>>
>> _______________________________________________
>> rspec-users mailing list
>> rspec-users at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list