Neil Cauldwell <[EMAIL PROTECTED]> writes: > Pat Maddox wrote: >> Neil Cauldwell <[EMAIL PROTECTED]> writes: >>> >>> respond_to do |format| >>> format.html >>> format.xml { render :xml => @results } >>> end >>> end >>> >>> Cheers >> >> You're stubbing User.search, but you don't actually call it. search >> ends up being called on a named_scope collection proxy. So I think that >> this is using the real implementation of both active and search. >> >> I never saw you post a failure message, so I'm not actually sure what >> problem you're having. A failure message would be helpful. >> >> Pat > > Pat, I don't see an error message but, I was expecting this to fail > (which it doesn't, therefore suggesting the spec is broken); > > it "should not include any inactive users in an assigned array of user > results " do > do_get > assigns[:results].should_not include(users) > end > > I was under the assumption that the above spec checks that we don't have > any of the users fixtures in the :results. The spec uses this; > > def do_get > ThinkingSphinx::Search.stub!(:search).and_return(users) > get :people, :search => "bob" > end > > ...so shouldn't the spec fail if we're returning all the users fixtures > when assigns[:results].should_not include(users)? > > Thanks
Well, flip the should_not to should and it ought to fail, and give you a bit more info. Or print the stuff out. I imagine what's ultimately happening is something along the lines of [1,2,3].should_not include([1,2,3]) which is true. [1,2,3] is not an element of the array [1,2,3]. I used a simplified example here but it applies equally to an array of User objects. Anyway, what kind of debugging have you done to see what objects you're actually dealing with? I think doing "p assigns[:results]" and "p users" will help point you in the right direction... Pat _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users