On Sep 29, 2010, at 12:44 AM, Amiruddin Nagri wrote:

> I am working on a Rails 3 application using RSPec 2.beta.20. 
> 
> I am having the following routes in my routes.rb
> 
> routes.rb
> ------------
> resources :projects
> root :to => 'projects#index'
> 
> I am trying to test both the routes. But while testing root route I am 
> getting a failure :
> 
> it 'should route root to projects#index' do
>   {:get => '/'}.should route_to(:controller => 'projects', :action => 'index')
> end
> 
> But the above example is failing since route_to is expecting a route like 
> '/projects'. Is there a way to test root routes which are also configured 
> elsewhere in the routes.rb.

route_to delegates to assert_routing, which only passes if both 
assert_generates and assert_recognizes passes. There was a lengthy thread about 
this [1] but we never resolved the API deficiency. Obviously we need something 
before a final rspec-rails-2 release, but in the mean time you can always use 
the built-in rails assertions. In this case, you'd use:

  assert_recognizes({:controller => "projects", :action => "index"}, {:method 
=> "get", :path => "/"})

Cheers,
David

[1] 
http://groups.google.com/group/rspec/browse_thread/thread/50b46ca3e4bd3a78/2a60d77662a1ec31
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to