Hi All
With the following route
constraints(:host => “example.com”) do
match “(*x)” => redirect { |params, request|
URI.parse(request.url).tap { |x| x.host = “www.example.com” }.to_s
}
end
I am wondering how or where I would spec this?
Ideally I would like to be able to write a routing spec, something like:
get(“http://example.com”).should route_to(:controller => “home”, :action
=>
“index”, :host => “www.example.com”)
Thanks in advance
Shane M.
On Mon, Aug 1, 2011 at 8:29 PM, Shane M. [email protected] wrote:
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
Hi, take a look at this:
Thanks for that Justin!
I was not aware of request specs
http://relishapp.com/rspec/rspec-rails/v/2-6/dir/request-specs/request-spec…
could not find any reference to them in the rspec book (maybe I missed
them).
so adding spec/requests/routes_spec.rb with the following did the trick!
require “spec_helper”
describe “routes that redirect” do
it “redirects http://example.com to http://www.example.com” do
get “http://example.com”
response.should redirect_to(‘http://www.example.com’)
end
it “should not redirect https://secure.example.com” do
get “https://secure.example.com”
response.should_not be_redirect
end
end
constraints(:host => /^example.com/) do
match “(*x)” => redirect { |params, request|
URI.parse(request.url).tap { |x| x.host = “www.example.com” }.to_s
}
end