[rspec-users] find_all_by returning nil
lists at ruby-forum.com
Mon Aug 11 16:24:02 EDT 2008
David Chelimsky wrote:
> On Mon, Aug 11, 2008 at 2:49 PM, John Mark <lists at ruby-forum.com> wrote:
>>> product = mock_model(Product, :id => 1, :category_id => 1)
>>> 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.
> Can't really help you if you're submitting code that is different from
> the code that is causing you trouble. Please be more careful about
>> 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)
> OK - so here, the 2nd to last line sets an expectation that Product
> should receive : find_all_meeting_some_criteria_for_category with
> product.category_id, and then the last line makes that exact call.
> This means that none of your actual code is being executed here. Is
> that really what you have?
Thanks David for the effort you are making to address my questions. Next
time I will definitely run the examples I am wrting here before I post
Yes the actual code gets called and thats where the nil error is getting
The code works ok for a simple application with only the Product and
Category model. The real code has a lot of associations and other
complex logic which I did not want to post here as they will hide the
problem I am trying to solve.
I will investigate it further since now I know the problem could be
caused by something else other than rspec.
It just looks as if (based on logs) that no database call is made in the
real application when I make this call with rspec (although it works ok
products = find_all_by_category_id(category_id)
The error is generated in the statement following the above statement
products.each do |product|
saying products is nil
Posted via http://www.ruby-forum.com/.
More information about the rspec-users