I found out why it was not working. The line, 'Part.should_receive(:update_attributes).with('title' => 'Brake pads').and_return(part)' should not be there because the controller specs should not care about implementation (ie. how things are processed, rather just what is done). I realised this when I looked at my specs for creation of new objects.
I commented the line and the spec now passes as expected. ------------ Spec extract starts ------------------------- context 'saves updates to an existing part object successfully' do it 'does its job in saving the update' do Part.should_receive(:find).with(1).and_return(part) # Part.should_receive(:update_attributes).with('title' => 'Brake pads').and_return(part) put :update, :id => 1, :part => {'title' => 'Brake pads'} flash[:notice].should eq('Part was successfully updated.') end end ------------ Spec extract ends ------------------------- Thank you for your help, Justin! Gordon Yeong :)
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users