Rails Enrutamiento RSpec: Acciones de prueba en: excepto NO enrutar
Problema bastante simple (habría pensado), pero tengo algunos problemas:
In Rails 3.1.0.rc6 / RSpec 2.6.0, estoy tratando de probar el enrutamiento de mi recurso 'productos', enrutado así:
resources :products, :except => [:edit, :update]
El enrutamiento de las acciones válidas funciona, pero quiero asegurarme de que las rutas de edición y actualizaciónno so invocable. Esto es lo que estoy intentando:
it "does not route to #edit" do
lambda { get("/products/1/edit") }.should raise_error
end
Falla / Error: lambda {get ("/ products / 1 / edit")}. Debería elevar el error esperado Excepción pero no se generó nada # ./spec/routing/products_routing_spec.rb:11:in `bloque (3 niveles) en ' @
... Y sin embargo, cuando ejecuto
it "does not route to #edit" do
get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end
Yo obteng
Falla / Error: get ("/ products / 1 / edit"). Should_not route_to ("products # edit",: id => "1") ActionController :: RoutingError: ninguna ruta coincide "/ products / 1 / edit" @
¿Alguna idea de lo que está pasando aquí? Supongo que esto debería ser bastante simple, pero parece que no puedo entenderlo.