Thanks, David! Glad I'm unstuck on this :)
David Chelimsky-2 wrote: > > On Dec 4, 2007 11:49 AM, schleg <[EMAIL PROTECTED]> wrote: >> >> This may be a dumb noob issue, but I haven't found any answers while >> seaching >> the forum-- >> >> I have a controller method >> >> def edit >> @user = User.find params[:id] >> @user.password_confirmation = @user.password >> end >> >> The User class has an "attr_accessor :password_confirmation" definition >> (so >> "password_confirmation" doesn't exist in the users table). My spec has >> the >> following >> >> it "should find User on GET to users/edit/:id" do >> User.should_receive(:find).and_return(@user) >> @user.should_receive(:password_confirmation) > > This should be: > > @user.should_receive(:password_confirmation=) > > Cheers, > David > >> get 'edit', :id => @user.id >> end >> >> I am asking it to expect that I will be assigning something to that >> attribute in the "edit" method. Unfortunately, the spec fails with >> >> Spec::Mocks::MockExpectationError in 'UsersController should find User on >> GET to users/edit/:id' >> Mock 'user' received unexpected message :password_confirmation= with >> ("password") >> >> Initially I thought that my "should_receive" expectation was incorrectly >> written, but if I comment out the attribute assignment in the controller >> method >> >> ... >> @user = User.find params[:id] >> [EMAIL PROTECTED] = @user.password >> ... >> >> then the test fails with >> >> Spec::Mocks::MockExpectationError in 'UsersController should find User on >> GET to users/edit/:id' >> Mock 'user' expected :password_confirmation with (any args) once, but >> received it 0 times >> >> So, it seems to me that the expectation is written correctly, but >> something >> about using the attr_accessor via the mock object is causing a failure. >> >> BTW, I am doing the following in a before(:each) block >> >> @user = mock("user") >> @user.stub!(:new_record?).and_return(false) >> @user.stub!(:update_attributes).and_return(true) >> @user.stub!(:password_confirmation).and_return('password') >> @user.stub!(:password).and_return('password') >> User.stub!(:new).and_return(@user) >> >> Does anyone know what I'm missing here? >> >> Thanks! >> -- >> View this message in context: >> http://www.nabble.com/Unexpected-message-on-%3Aattr_accessor-tf4944588.html#a14155614 >> Sent from the rspec-users mailing list archive at Nabble.com. >> >> _______________________________________________ >> 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 > > -- View this message in context: http://www.nabble.com/Unexpected-message-on-%3Aattr_accessor-tf4944588.html#a14161456 Sent from the rspec-users mailing list archive at Nabble.com. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users