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