David Chelimsky wrote: > On Mon, Aug 11, 2008 at 1:47 PM, John Mark <[EMAIL PROTECTED]> wrote: >> >> Sorry that was a typo >> >> Its actually stub! in my code > > The original example doesn't seem to do anything: > > it "should find products given a category" do > product = mock_model(Product, :id => 1, :category_id => 1) > > Product.stub(!find_all_by_category_id).with(anything()).and_return([product]) > > Product.should_receive(:find_all_meeting_some_criteria_for_category).with(product.category_id) > end > > It just sets up some objects but never actually calls an action. What > is the error message you're getting?
Sorry again I forgot to add the last statement. Here is how the code should have looked like it "should find products given a category" do product = mock_model(Product, :id => 1, :category_id => 1) Product.stub!(:find_all_by_category_id).with(anything()).and_return([product]) Product.should_receive(:find_all_meeting_some_criteria_for_category).with(product.category_id) Product.find_all_meeting_some_criteria_for_category(product.category_id) end I have created a new application with only the above 2 models and the rspec is working ok. It appears there are some extra information in my real application that is making it not to work properly. I have to investigate further on this. The error I am getting is. "You have a nil object when you didn't expect it! You might have expected an instance of Array. The error ocurred while evaluating nil.each" aand the error line is line 2 below in the Product model 1. products = find_all_by_category_id(category_id) 2. products.each do |product| Perhaps what I need answered for now is what could cause rspec return nil for an activerecord method that is supposed to return an array? Thanks Mark -- Posted via http://www.ruby-forum.com/. _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
