So small but so powerful, i just wanted to share my little time savers, and hope you share your most essential helpers in the comments.
(I use @item as an alias for the current object in all my tests, to make generic tests less painful.)
Small example:
it "renders feedback" do
expects_find
get :feedback , :id => @item.to_param
response.should render_template('edit')
end
Code:
#spec/spec_helper.rb
def mock_create(item,success,para=nil)
if para
item.class.expects(:new).with(para).returns item
else
item.class.expects(:new).returns item
end
item.expects(:save).returns success
end
def mock_update(item,success)
expects_find(item)
item.expects(:save).returns success
end
def expects_find(item=nil)
item ||= @item
item.class.expects(:find).with(item.to_param).returns(item)
end