On Tue, Aug 23, 2011 at 6:22 AM, Gordon Yeong <[email protected]> wrote:
> 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).
>
Depends on what you want to do. Now, your controller spec is coupled to your
model, so if "update_attributes" fails, your controller spec will fail too.
> 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
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users