Czy specyfikacje routingu obsługują trasy przekierowania? [RSpec]
Po dość głębokim przekopaniu się w tej kwestii doszedłem do impasu między moim zrozumieniem dokumentacji a wynikami.
Wedłughttps://www.relishapp.com/rspec/rspec-rails/v/2-8/docs/routing-specs/route-to-matcher, powinniśmy być w stanie napisać:
#rspec-rails (2.8.1)
#rspec (>= 1.3.1)
#rspec-core (~> 2.8.0)
# routing spec
require "spec_helper"
describe BusinessUsersController do
describe "routing" do
it "routes to some external url" do
get("/business_users/7/external_url").should route_to("http://www.google.com")
end
end
end
# routes.rb
BizeebeeBilling::Application.routes.draw do
resources :business_users do
member do
get "external_url" => redirect("http://www.google.com")
end
end
end
Uruchomienie tej specyfikacji daje następujące wyniki: Niepowodzenia:
1) BusinessUsersController routing routes to some external url
Failure/Error: assert_routing "/business_users/7/external_url", "http://www.google.com"
ActionController::RoutingError:
No route matches "/business_users/7/external_url"
# ./spec/routing/business_users_routing_spec.rb:19:in `block (3 levels) in <top (required)>'
Nigdzie nie mogłem znaleźć nikogo, kto zgłaszałby ten konkretny problem.
Dodano szczegóły: trasa jest doskonale rozwiązana podczas ręcznego testowania.