Hi again. I haven't heard any responses on this thread (is this thing on? ;) .
Is there any known pattern for verifying a route that *doesn't* exist, as of Rspec 1.2.6? Thanks, Randy Randy Harmon wrote: > Hi, > > When upgrading to rspec/rspec-rails 1.2.6 gem (from 1.1.12), I'm having > a new problem verifying routes that should not exist. > > This is to support something like this in routes.rb: > > map.resources :orders do |orders| > orders.resources :items, :except => [:index,:show] > end > > I used to use lambda {}.should_raise( routing error ), but it stopped > detecting any raised error. Requesting it through the browser produces > ActionController::MethodNotAllowed (Only post requests are allowed). But > that error wasn't detected. > > When I skip the lambda, and just ask it to verify that the route does > exist (which *should* fail), I get the same result for those :except > actions as for a made-up action name. Seems this must have something to > do with the change in how route_for delegates back to ActionController's > routing assertion (sez the backtrace :). > > > NoMethodError in 'ItemsController route generation should NOT map > #indewfefwex' > You have a nil object when you didn't expect it! > You might have expected an instance of Array. > The error occurred while evaluating nil.first > /Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/assertions/routing_assertions.rb:134:in > `recognized_request_for' > /Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/assertions/routing_assertions.rb:49:in > `assert_recognizes' > /Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/assertions.rb:54:in > `clean_backtrace' > /Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/assertions/routing_assertions.rb:47:in > `assert_recognizes' > ./spec/controllers/thoughts_routing_spec.rb:9: > > > I tried using bypass_rescue in my routing/items_routing_spec.rb file as > mentioned by the upgrade doc, but it wasn't valid in the "routing" spec > - worked fine when I moved the file back to spec/controllers/, though. > Seems like that's not the issue, but I'm mentioning for more completeness. > > Any ideas what I should be doing instead, or how I can troubleshoot further? > > Thanks, > > Randy > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users